diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index 1ee251fa8045..6f25600a8eea 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -2,20 +2,22 @@ ## 1.0.0-beta.3 (Unreleased) - Fix bug in FormRecognizer API's to support multipage document recognition. +- Add `getFormRecognizerClient()` and `getFormRecognizerAsyncClient()` in FormTrainingClient and FormTrainingAsyncClient +- Add `FormTrainingClientBuilder` to build `FormTrainingAsyncClient` and `FormTrainingClient` - Adopt the `training` namespace for Form Recognizer Training Clients - Rename parameter `fileSourceUrl` to `trainingFilesUrl` on `beginTraining` method in FormTrainingClients - Rename parameter `useLabelFile` to `useTrainingLabels` on `beginTraining` method in FormTrainingClients -- Replace parameters `filePrefix` and `includeSubFolders` with `TrainModelOptions` model +- Replace parameters `filePrefix` and `includeSubFolders` with `TrainModelOptions` model - Rename AccountProperties `count` and `limit` to `customModelCount` and `customModelLimit` ## 1.0.0-beta.2 (2020-05-06) - Fixed Receipt type bug to select the valueString field via fieldValue. - Rename `apiKey()` to `credential()` on FormRecognizerClientBuilder. -This package's -[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.2/sdk/formrecognizer/azure-ai-formrecognizer/README.md) -and -[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.2/sdk/formrecognizer/azure-ai-formrecognizer/src/samples) +This package's +[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.2/sdk/formrecognizer/azure-ai-formrecognizer/README.md) +and +[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.2/sdk/formrecognizer/azure-ai-formrecognizer/src/samples) demonstrate the new API. ## 1.0.0-beta.1 (2020-04-23) @@ -37,8 +39,8 @@ https://azure.github.io/azure-sdk/releases/latest/java.html. - All service errors use the base type: `com.azure.ai.formrecognizer.models.ErrorResponseException` - Reactive streams support using [Project Reactor](https://projectreactor.io/). -This package's -[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.1/sdk/formrecognizer/azure-ai-formrecognizer/README.md) -and -[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.1/sdk/formrecognizer/azure-ai-formrecognizer/src/samples) +This package's +[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.1/sdk/formrecognizer/azure-ai-formrecognizer/README.md) +and +[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.1/sdk/formrecognizer/azure-ai-formrecognizer/src/samples) demonstrate the new API. diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/README.md index 82e39d2d08e5..e69559f2d7d6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/README.md @@ -74,7 +74,7 @@ To use AzureKeyCredential authentication, provide the [key][key] as a string to 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() .credential(new AzureKeyCredential("{key}")) @@ -83,7 +83,7 @@ FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() ``` The Azure Form Recognizer client library provides a way to **rotate the existing API key**. - + ```java AzureKeyCredential credential = new AzureKeyCredential("{key}"); FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() @@ -143,7 +143,7 @@ The following section provides several code snippets covering some of the most c ### Recognize Forms Using a Custom Model Recognize 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. - + ```java String analyzeFilePath = "{file_source_url}"; String modelId = "{custom_trained_model_id}"; @@ -166,7 +166,7 @@ recognizedForms.forEach(form -> { ### Recognize Content Recognize text and table structures, along with their bounding box coordinates, from documents. - + ```java String analyzeFilePath = "{file_source_url}"; SyncPoller> recognizeLayoutPoller = @@ -193,7 +193,7 @@ layoutPageResults.forEach(formPage -> { ### Recognize receipts Recognize data from a USA sales receipts using a prebuilt model. - + ```java String receiptSourceUrl = "https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/media" + "/contoso-allinone.jpg"; @@ -219,7 +219,7 @@ receiptPageResults.forEach(recognizedReceipt -> { 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. 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]. - + ```java String trainingFilesUrl = "{training_set_SAS_URL}"; SyncPoller trainingPoller = @@ -246,7 +246,7 @@ customFormModel.getSubModels().forEach(customFormSubModel -> { ### Manage your models Manage the custom models attached to your account. - + ```java AtomicReference modelId = new AtomicReference<>(); // First, we see how many custom models we have, and what our limit is @@ -288,7 +288,7 @@ to provide an invalid file source URL an `ErrorResponseException` would be raise 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"); @@ -354,8 +354,8 @@ This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For m [form_recognizer_account]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows [form_recognizer_async_client]: src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java [form_recognizer_sync_client]: src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java -[form_training_async_client]: src/main/java/com/azure/ai/formrecognizer/FormTrainingAsyncClient.java -[form_training_sync_client]: src/main/java/com/azure/ai/formrecognizer/FormTrainingClient.java +[form_training_async_client]: src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java +[form_training_sync_client]: src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java [http_clients_wiki]: https://github.com/Azure/azure-sdk-for-java/wiki/HTTP-clients [fr_labeling_tool]: https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/quickstarts/label-tool [fr_train_without_labels]: https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/overview#train-without-labels 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 index 8eee174560ab..8d82265d60d7 100644 --- 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 @@ -15,7 +15,6 @@ import com.azure.ai.formrecognizer.models.OperationResult; import com.azure.ai.formrecognizer.models.RecognizedForm; import com.azure.ai.formrecognizer.models.RecognizedReceipt; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; @@ -75,16 +74,6 @@ public final class FormRecognizerAsyncClient { this.serviceVersion = serviceVersion; } - /** - * Creates a new {@link FormTrainingAsyncClient} object. The new {@code FormTrainingAsyncClient} - * uses the same request policy pipeline as the {@code FormRecognizerAsyncClient}. - * - * @return A new {@link FormTrainingAsyncClient} object. - */ - public FormTrainingAsyncClient getFormTrainingAsyncClient() { - return new FormTrainingAsyncClient(this.service, this.serviceVersion); - } - /** * Gets the service version the client is using. * 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 index eaa81a1102e1..9b85bc90f2c0 100644 --- 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 @@ -9,7 +9,6 @@ import com.azure.ai.formrecognizer.models.OperationResult; import com.azure.ai.formrecognizer.models.RecognizedForm; import com.azure.ai.formrecognizer.models.RecognizedReceipt; -import com.azure.ai.formrecognizer.training.FormTrainingClient; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; @@ -45,16 +44,6 @@ public final class FormRecognizerClient { this.client = client; } - /** - * Creates a new {@link FormTrainingClient} object.The new {@code FormRecognizerClient} uses the same request policy - * pipeline as the {@code FormRecognizerClient}. - * - * @return A new {@link FormTrainingClient} object. - */ - public FormTrainingClient getFormTrainingClient() { - return new FormTrainingClient(client.getFormTrainingAsyncClient()); - } - /** * Recognizes and extracts receipt data from documents using optical character recognition (OCR) * and a custom trained model. 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/FormRecognizerClientBuilder.java index 5200eb9e3bd0..88b66880ec1a 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/FormRecognizerClientBuilder.java @@ -43,10 +43,17 @@ * *

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

* + *

Instantiating an asynchronous Form Recognizer Client

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

Instantiating a synchronous Form Recognizer Client

+ * + * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.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 @@ -55,6 +62,8 @@ * {@link FormRecognizerAsyncClient} is built. *

* + * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.pipeline.instantiation} + * * @see FormRecognizerAsyncClient * @see FormRecognizerClient */ 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 index 06939755cac7..b4e0113dbc84 100644 --- 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 @@ -19,6 +19,7 @@ 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; @@ -55,11 +56,11 @@ *

Instantiating an asynchronous Form Training Client

* {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.initialization} * - * @see FormRecognizerClientBuilder - * @see FormRecognizerAsyncClient + * @see FormTrainingClientBuilder + * @see FormTrainingAsyncClient */ -@ServiceClient(builder = FormRecognizerClientBuilder.class, isAsync = true) -public class FormTrainingAsyncClient { +@ServiceClient(builder = FormTrainingClientBuilder.class, isAsync = true) +public final class FormTrainingAsyncClient { private final ClientLogger logger = new ClientLogger(FormTrainingAsyncClient.class); private final FormRecognizerClientImpl service; @@ -67,18 +68,44 @@ public class FormTrainingAsyncClient { /** * Create a {@link FormTrainingClient} that sends requests to the Form Recognizer service's endpoint. - * Each service call goes through the {@link FormRecognizerClientBuilder#pipeline http pipeline}. + * 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. */ - // TODO (savaity): Should not be a public constructor, still deciding the best approach here, - // to be redone in #10909 - public FormTrainingAsyncClient(FormRecognizerClientImpl service, FormRecognizerServiceVersion serviceVersion) { + 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 {@code 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(); + } + /** * Gets the service version the client is using. * 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 index 4e86c083bfb5..55464dbaf4c7 100644 --- 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 @@ -3,7 +3,6 @@ package com.azure.ai.formrecognizer.training; -import com.azure.ai.formrecognizer.FormRecognizerAsyncClient; import com.azure.ai.formrecognizer.FormRecognizerClient; import com.azure.ai.formrecognizer.FormRecognizerClientBuilder; import com.azure.ai.formrecognizer.models.AccountProperties; @@ -30,25 +29,35 @@ *

Instantiating a synchronous Form Training Client

* {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.initialization} * - * @see FormRecognizerClientBuilder - * @see FormRecognizerClient + * @see FormTrainingClientBuilder + * @see FormTrainingClient */ -@ServiceClient(builder = FormRecognizerClientBuilder.class) -public class 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 FormRecognizerClientBuilder#pipeline http pipeline}. + * Each service call goes through the {@link FormTrainingClientBuilder#pipeline http pipeline}. * - * @param formTrainingAsyncClient The {@link FormRecognizerAsyncClient} that the client routes its request through. + * @param formTrainingAsyncClient The {@link FormTrainingAsyncClient} that the client routes its request through. */ - // TODO (savaity): Still deciding the best approach here, to be redone in #10909 - public FormTrainingClient(FormTrainingAsyncClient formTrainingAsyncClient) { + FormTrainingClient(FormTrainingAsyncClient formTrainingAsyncClient) { this.client = formTrainingAsyncClient; } + /** + * Creates a new {@link FormRecognizerClient} object. The new {@code FormTrainingClient} + * uses the same request policy pipeline as the {@code FormTrainingClient}. + * + * @return A new {@code 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 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/training/FormTrainingClientBuilder.java new file mode 100644 index 000000000000..293705dec09c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClientBuilder.java @@ -0,0 +1,354 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.training; + +import com.azure.ai.formrecognizer.FormRecognizerServiceVersion; +import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; +import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImplBuilder; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.ContentType; +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.AddHeadersPolicy; +import com.azure.core.http.policy.AzureKeyCredentialPolicy; +import com.azure.core.http.policy.HttpLogDetailLevel; +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.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.logging.ClientLogger; + +import java.net.MalformedURLException; +import java.net.URL; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * This class provides a fluent builder API to help instantiation of {@link FormTrainingClient FormTrainingClient} + * and {@link FormTrainingAsyncClient FormTrainingAsyncClient}, 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. + * {@link #credential(AzureKeyCredential)} gives the builder access credential. + *

+ * + *

Instantiating an asynchronous Form Training Client

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

Instantiating a synchronous Form Training Client

+ * + * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.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. + *

+ * + * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.pipeline.instantiation} + * + * @see FormTrainingAsyncClient + * @see FormTrainingClient + */ +@ServiceClientBuilder(serviceClients = {FormTrainingAsyncClient.class, FormTrainingClient.class}) +public final class FormTrainingClientBuilder { + + private static final String ECHO_REQUEST_ID_HEADER = "x-ms-return-client-request-id"; + private static final String CONTENT_TYPE_HEADER_VALUE = ContentType.APPLICATION_JSON; + private static final String ACCEPT_HEADER = "Accept"; + private static final String FORM_RECOGNIZER_PROPERTIES = "azure-ai-formrecognizer.properties"; + private static final String NAME = "name"; + private static final String VERSION = "version"; + private static final RetryPolicy DEFAULT_RETRY_POLICY = new RetryPolicy("retry-after-ms", ChronoUnit.MILLIS); + + private final ClientLogger logger = new ClientLogger(FormTrainingClientBuilder.class); + private final List policies; + private final HttpHeaders headers; + private final String clientName; + private final String clientVersion; + + private String endpoint; + private AzureKeyCredential credential; + private HttpClient httpClient; + private HttpLogOptions httpLogOptions; + private HttpPipeline httpPipeline; + private Configuration configuration; + private RetryPolicy retryPolicy; + private FormRecognizerServiceVersion version; + + static final String OCP_APIM_SUBSCRIPTION_KEY = "Ocp-Apim-Subscription-Key"; + /** + * The constructor with defaults. + */ + public FormTrainingClientBuilder() { + policies = new ArrayList<>(); + httpLogOptions = new HttpLogOptions(); + + Map properties = CoreUtils.getProperties(FORM_RECOGNIZER_PROPERTIES); + clientName = properties.getOrDefault(NAME, "UnknownName"); + clientVersion = properties.getOrDefault(VERSION, "UnknownVersion"); + + headers = new HttpHeaders() + .put(ECHO_REQUEST_ID_HEADER, "true") + .put(ACCEPT_HEADER, CONTENT_TYPE_HEADER_VALUE); + } + + /** + * 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. + * + *

+ * 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 + * settings are ignored + *

+ * + * @return A FormTrainingClient 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()); + } + + /** + * 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. + * + *

+ * 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 + * settings are ignored. + *

+ * + * @return A FormTrainingAsyncClient 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() { + // Endpoint cannot be null, which is required in request authentication + Objects.requireNonNull(endpoint, "'Endpoint' is required and can not be null."); + + // Service Version + final FormRecognizerServiceVersion serviceVersion = + version != null ? version : FormRecognizerServiceVersion.getLatest(); + + HttpPipeline pipeline = httpPipeline; + // Create a default Pipeline if it is not given + if (pipeline == null) { + pipeline = getDefaultHttpPipeline(); + } + final FormRecognizerClientImpl formRecognizerAPI = new FormRecognizerClientImplBuilder() + .endpoint(endpoint) + .pipeline(pipeline) + .build(); + + return new FormTrainingAsyncClient(formRecognizerAPI, serviceVersion); + + } + + private HttpPipeline getDefaultHttpPipeline() { + // Global Env configuration store + final Configuration buildConfiguration = (configuration == null) + ? Configuration.getGlobalConfiguration().clone() : configuration; + + // Closest to API goes first, closest to wire goes last. + final List policies = new ArrayList<>(); + + policies.add(new UserAgentPolicy(httpLogOptions.getApplicationId(), clientName, clientVersion, + buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersPolicy(headers)); + + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(retryPolicy == null ? DEFAULT_RETRY_POLICY : retryPolicy); + policies.add(new AddDatePolicy()); + // Authentications + if (credential != null) { + policies.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.")); + } + policies.addAll(this.policies); + HttpPolicyProviders.addAfterRetryPolicies(policies); + + policies.add(new HttpLoggingPolicy(httpLogOptions)); + + return new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .build(); + } + + /** + * Sets the service endpoint for the Azure Form Recognizer instance. + * + * @param endpoint The URL of the Azure Form Recognizer instance service requests to and receive responses from. + * + * @return The updated FormTrainingClientBuilder 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) { + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + + try { + new URL(endpoint); + } catch (MalformedURLException ex) { + throw logger.logExceptionAsWarning(new IllegalArgumentException("'endpoint' must be a valid URL.", ex)); + } + + if (endpoint.endsWith("/")) { + this.endpoint = endpoint.substring(0, endpoint.length() - 1); + } else { + this.endpoint = endpoint; + } + + return this; + } + + /** + * Sets the {@link AzureKeyCredential} to use when authenticating HTTP requests for this + * FormTrainingClientBuilder. + * + * @param apiKeyCredential {@link AzureKeyCredential} API key credential + * + * @return The updated FormTrainingClientBuilder object. + * @throws NullPointerException If {@code apiKeyCredential} is {@code null} + */ + public FormTrainingClientBuilder credential(AzureKeyCredential apiKeyCredential) { + this.credential = Objects.requireNonNull(apiKeyCredential, "'apiKeyCredential' cannot be null."); + return this; + } + + /** + * Sets the logging configuration for HTTP requests and responses. + * + *

If {@code logOptions} isn't provided, the default options will use {@link HttpLogDetailLevel#NONE} + * which will prevent logging.

+ * + * @param logOptions The logging configuration to use when sending and receiving HTTP requests/responses. + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder httpLogOptions(HttpLogOptions logOptions) { + this.httpLogOptions = logOptions; + return this; + } + + /** + * Adds a policy to the set of existing policies that are executed after required policies. + * + * @param policy The retry policy for service requests. + * + * @return The updated FormTrainingClientBuilder object. + * @throws NullPointerException If {@code policy} is {@code null}. + */ + public FormTrainingClientBuilder addPolicy(HttpPipelinePolicy policy) { + policies.add(Objects.requireNonNull(policy, "'policy' cannot be null.")); + return this; + } + + /** + * Sets the HTTP client to use for sending and receiving requests to and from the service. + * + * @param client The HTTP client to use for requests. + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder httpClient(HttpClient client) { + if (this.httpClient != null && client == null) { + logger.info("HttpClient is being set to 'null' when it was previously configured."); + } + + this.httpClient = client; + return this; + } + + /** + * 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}. + * + * @param httpPipeline The HTTP pipeline to use for sending service requests and receiving responses. + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder pipeline(HttpPipeline httpPipeline) { + if (this.httpPipeline != null && httpPipeline == null) { + logger.info("HttpPipeline is being set to 'null' when it was previously configured."); + } + + this.httpPipeline = httpPipeline; + return this; + } + + /** + * Sets the configuration store that is used during construction of the service client. + *

+ * The default configuration store is a clone of the {@link Configuration#getGlobalConfiguration() global + * configuration store}, use {@link Configuration#NONE} to bypass using configuration settings during construction. + * + * @param configuration The configuration store used to + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /** + * 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}. + * + * @param retryPolicy user's retry policy applied to each request. + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Sets the {@link FormRecognizerServiceVersion} 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. + * + * @return The updated FormTrainingClientBuilder object. + */ + public FormTrainingClientBuilder serviceVersion(FormRecognizerServiceVersion version) { + this.version = version; + return this; + } +} 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 index 980512c09434..415da614ccff 100644 --- 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 @@ -7,6 +7,10 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.TrainModelOptions; import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; +import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; import java.time.Duration; @@ -14,19 +18,34 @@ * Code snippet for {@link FormTrainingAsyncClient} */ public class FormTrainingAsyncClientJavaDocCodeSnippets { - private FormTrainingAsyncClient formTrainingAsyncClient = new FormRecognizerClientBuilder().buildAsyncClient() - .getFormTrainingAsyncClient(); + private 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 FormRecognizerClientBuilder().buildAsyncClient() - .getFormTrainingAsyncClient(); + 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)} */ 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 index da85da1eb44d..74b468b0d48a 100644 --- 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 @@ -7,6 +7,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.TrainModelOptions; import com.azure.ai.formrecognizer.training.FormTrainingClient; +import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; import com.azure.core.http.rest.Response; import com.azure.core.util.Context; @@ -16,16 +17,14 @@ * Code snippet for {@link FormTrainingClient} */ public class FormTrainingClientJavaDocCodeSnippets { - private FormTrainingClient formTrainingClient = new FormRecognizerClientBuilder().buildClient() - .getFormTrainingClient(); + private FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); /** * Code snippet for {@link FormTrainingClient} initialization */ public void formTrainingClientInInitialization() { // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.initialization - FormTrainingClient formTrainingClient = new FormRecognizerClientBuilder().buildClient() - .getFormTrainingClient(); + FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); // END: com.azure.ai.formrecognizer.training.FormTrainingClient.initialization } 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 index f341079c092e..e205a611124d 100644 --- 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 @@ -7,6 +7,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.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; @@ -26,10 +27,10 @@ public class ManageCustomModels { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormRecognizerClientBuilder() + FormTrainingClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient().getFormTrainingClient(); + .buildClient(); AtomicReference modelId = new AtomicReference<>(); 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 index c65c48eb0968..997df695a015 100644 --- 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 @@ -4,6 +4,7 @@ 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; @@ -22,10 +23,10 @@ public class ManageCustomModelsAsync { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormRecognizerClientBuilder() + FormTrainingAsyncClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient().getFormTrainingAsyncClient(); + .buildAsyncClient(); AtomicReference modelId = new AtomicReference<>(); 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 41658a200146..b4e5d013497c 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 @@ -13,6 +13,7 @@ import com.azure.ai.formrecognizer.models.RecognizedReceipt; import com.azure.ai.formrecognizer.models.USReceipt; 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.IterableStream; @@ -29,7 +30,7 @@ */ public class ReadmeSamples { private FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder().buildClient(); - private FormTrainingClient formTrainingClient = formRecognizerClient.getFormTrainingClient(); + private FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); /** * Code snippet for getting sync client using the AzureKeyCredential authentication. 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 index cc1fe3911266..3808556ee51c 100644 --- 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 @@ -6,6 +6,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.OperationResult; 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; @@ -22,10 +23,10 @@ public class TrainModelWithLabels { public static void main(String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormRecognizerClientBuilder() + FormTrainingClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient().getFormTrainingClient(); + .buildClient(); // Train custom model String trainingSetSource = "{labeled_training_set_SAS_URL}"; 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 index b5a0886bcdfc..7afee42a1491 100644 --- 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 @@ -6,6 +6,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.OperationResult; 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.LongRunningOperationStatus; import com.azure.core.util.polling.PollerFlux; @@ -27,10 +28,10 @@ public class TrainModelWithLabelsAsync { public static void main(String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormRecognizerClientBuilder() + FormTrainingAsyncClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{api_Key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient().getFormTrainingAsyncClient(); + .buildAsyncClient(); // Train custom model String trainingSetSource = "{labeled_training_set_SAS_URL}"; 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 index d7d23dd33b9e..a40ee7503f74 100644 --- 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 @@ -6,6 +6,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.OperationResult; 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; @@ -22,10 +23,10 @@ public class TrainModelWithoutLabels { public static void main(String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormRecognizerClientBuilder() + FormTrainingClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{api_Key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient().getFormTrainingClient(); + .buildClient(); // Train custom model String trainingSetSource = "{unlabeled_training_set_SAS_URL}"; 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 index 452b0a5d2638..aca264af28af 100644 --- 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 @@ -6,6 +6,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.OperationResult; 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.LongRunningOperationStatus; import com.azure.core.util.polling.PollerFlux; @@ -27,10 +28,10 @@ public class TrainModelWithoutLabelsAsync { public static void main(String[] args) { // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormRecognizerClientBuilder() + FormTrainingAsyncClient client = new FormTrainingClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient().getFormTrainingAsyncClient(); + .buildAsyncClient(); // Train custom model String trainingSetSource = "{unlabeled_training_set_SAS_URL}"; 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 index 9c368587ea09..1ae44d58823c 100644 --- 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 @@ -10,6 +10,8 @@ import com.azure.ai.formrecognizer.models.OperationResult; import com.azure.ai.formrecognizer.models.RecognizedForm; import com.azure.ai.formrecognizer.models.RecognizedReceipt; +import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; +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; @@ -68,6 +70,18 @@ private FormRecognizerAsyncClient getFormRecognizerAsyncClient(HttpClient httpCl return builder.buildAsyncClient(); } + private FormTrainingAsyncClient getFormTrainingAsyncClient(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()); + AzureKeyCredential credential = (getTestMode() == TestMode.PLAYBACK) ? new AzureKeyCredential(INVALID_KEY) + : new AzureKeyCredential(getApiKey()); + builder.credential(credential); + return builder.buildAsyncClient(); + } /** * Verifies receipt data for a document using source as file url. */ @@ -268,7 +282,7 @@ public void recognizeCustomFormInvalidSourceUrl(HttpClient httpClient, client = getFormRecognizerAsyncClient(httpClient, serviceVersion); beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller syncPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); syncPoller.waitForCompletion(); CustomFormModel createdModel = syncPoller.getFinalResult(); StepVerifier.create(client.beginRecognizeCustomFormsFromUrl(INVALID_URL, createdModel.getModelId())) @@ -285,7 +299,7 @@ public void recognizeCustomFormLabeledData(HttpClient httpClient, FormRecognizer client = getFormRecognizerAsyncClient(httpClient, serviceVersion); customFormDataRunner(data -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = @@ -306,7 +320,7 @@ public void recognizeCustomFormLabeledDataWithNullValues(HttpClient httpClient, client = getFormRecognizerAsyncClient(httpClient, serviceVersion); customFormDataRunner(data -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller syncPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); syncPoller.waitForCompletion(); assertThrows(RuntimeException.class, () -> client.beginRecognizeCustomForms(null, @@ -329,7 +343,7 @@ public void recognizeCustomFormLabeledDataWithContentTypeAutoDetection(HttpClien client = getFormRecognizerAsyncClient(httpClient, serviceVersion); customFormDataRunner(data -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = @@ -349,7 +363,7 @@ public void recognizeCustomFormUnlabeledData(HttpClient httpClient, FormRecogniz client = getFormRecognizerAsyncClient(httpClient, serviceVersion); customFormDataRunner(data -> beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels).getSyncPoller(); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = @@ -366,7 +380,7 @@ public void recognizeCustomFormMultiPageUnlabeled(HttpClient httpClient, FormRec client = getFormRecognizerAsyncClient(httpClient, serviceVersion); multipageFromDataRunner(data -> beginTrainingMultipageRunner((trainingFilesUrl) -> { SyncPoller trainingPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, false).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, false).getSyncPoller(); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = @@ -383,7 +397,7 @@ public void recognizeCustomFormUrlMultiPageLabeled(HttpClient httpClient, FormRe client = getFormRecognizerAsyncClient(httpClient, serviceVersion); multipageFromUrlRunner(fileUrl -> beginTrainingMultipageRunner((trainingFilesUrl) -> { SyncPoller trainingPoller = - client.getFormTrainingAsyncClient().beginTraining(trainingFilesUrl, true).getSyncPoller(); + getFormTrainingAsyncClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, true).getSyncPoller(); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = 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 index 5867c18be5da..7538dd671a04 100644 --- 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 @@ -19,11 +19,12 @@ import java.util.function.Function; import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_API_KEY; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.validateAccountProperties; +import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_ENDPOINT; +import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL; import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; +import static com.azure.ai.formrecognizer.TestUtils.FORM_JPG; import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.VALID_URL; -import static com.azure.ai.formrecognizer.TestUtils.getExpectedAccountProperties; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; /** @@ -41,23 +42,23 @@ public void clientBuilderWithInvalidApiKeyCredential(HttpClient httpClient, Form } /** - * Test client with invalid API key but update to valid key and make call to server. + * 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 clientBuilderWithRotateToValidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToValidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - validateAccountProperties(getExpectedAccountProperties(), clientBuilder.buildClient().getFormTrainingClient().getAccountProperties())); + public void clientBuilderWithRotateToInvalidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { + clientBuilderWithRotateToInvalidKeyRunner(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. + * 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 clientBuilderWithRotateToInvalidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToInvalidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input, output) -> - assertThrows(output.getClass(), () -> clientBuilder.buildClient().beginRecognizeContentFromUrl(input))); + public void clientBuilderWithRotateToValidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { + clientBuilderWithRotateToValidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input) -> + assertNotNull(clientBuilder.buildClient().beginRecognizeContentFromUrl(input).getFinalResult())); } /** @@ -67,7 +68,7 @@ public void clientBuilderWithRotateToInvalidKey(HttpClient httpClient, FormRecog @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") public void clientBuilderWithNullServiceVersion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { clientBuilderWithNullServiceVersionRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - validateAccountProperties(getExpectedAccountProperties(), clientBuilder.buildClient().getFormTrainingClient().getAccountProperties())); + assertNotNull(clientBuilder.buildClient().beginRecognizeContentFromUrl(input).getFinalResult())); } /** @@ -77,7 +78,7 @@ public void clientBuilderWithNullServiceVersion(HttpClient httpClient, FormRecog @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") public void clientBuilderWithDefaultPipeline(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - validateAccountProperties(getExpectedAccountProperties(), clientBuilder.buildClient().getFormTrainingClient().getAccountProperties())); + assertNotNull(clientBuilder.buildClient().beginRecognizeContentFromUrl(input).getFinalResult())); } // Client builder runner @@ -86,7 +87,7 @@ void clientBuilderWithInvalidApiKeyCredentialRunner(HttpClient httpClient, Function> testRunner) { final FormRecognizerClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(INVALID_KEY)); - testRunner.apply(clientBuilder).accept(VALID_URL, new ErrorResponseException("", null)); + testRunner.apply(clientBuilder).accept(FORM_JPG, new ErrorResponseException("", null)); } void clientBuilderWithRotateToInvalidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, @@ -96,7 +97,13 @@ void clientBuilderWithRotateToInvalidKeyRunner(HttpClient httpClient, FormRecogn getEndpoint(), credential); // Update to invalid key credential.update(INVALID_KEY); - testRunner.apply(clientBuilder).accept(VALID_URL, new ErrorResponseException("", null)); + testRunner.apply(clientBuilder).accept(FORM_JPG, new ErrorResponseException("", null)); + } + + String getEndpoint() { + return interceptorManager.isPlaybackMode() + ? "https://localhost:8080" + : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_ENDPOINT); } void clientBuilderWithRotateToValidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, @@ -106,7 +113,7 @@ void clientBuilderWithRotateToValidKeyRunner(HttpClient httpClient, FormRecogniz getEndpoint(), credential); // Update to valid key credential.update(getApiKey()); - testRunner.apply(clientBuilder).accept(VALID_URL); + testRunner.apply(clientBuilder).accept(getTestingSasUri(FORM_JPG)); } void clientBuilderWithNullServiceVersionRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, @@ -115,7 +122,7 @@ void clientBuilderWithNullServiceVersionRunner(HttpClient httpClient, FormRecogn createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) .retryPolicy(new RetryPolicy()) .serviceVersion(null); - testRunner.apply(clientBuilder).accept(VALID_URL); + testRunner.apply(clientBuilder).accept(getTestingSasUri(FORM_JPG)); } void clientBuilderWithDefaultPipelineRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, @@ -124,13 +131,7 @@ void clientBuilderWithDefaultPipelineRunner(HttpClient httpClient, FormRecognize createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) .configuration(Configuration.getGlobalConfiguration()) .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)); - testRunner.apply(clientBuilder).accept(VALID_URL); - } - - String getEndpoint() { - return interceptorManager.isPlaybackMode() - ? "https://localhost:8080" - : Configuration.getGlobalConfiguration().get("AZURE_FORM_RECOGNIZER_ENDPOINT"); + testRunner.apply(clientBuilder).accept(getTestingSasUri(FORM_JPG)); } /** @@ -165,4 +166,15 @@ String getApiKey() { return interceptorManager.isPlaybackMode() ? "apiKeyInPlayback" : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_API_KEY); } + + private String getTestingSasUri(String fileName) { + if (interceptorManager.isPlaybackMode()) { + return "https://isPlaybackmode"; + } + + final String testingFileUrl = + Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL); + final String[] urlParts = testingFileUrl.split("\\?"); + return urlParts[0] + "/" + fileName + "?" + urlParts[1]; + } } 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 index 0c7c5540628d..fcf29535db72 100644 --- 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 @@ -10,6 +10,8 @@ import com.azure.ai.formrecognizer.models.OperationResult; import com.azure.ai.formrecognizer.models.RecognizedForm; import com.azure.ai.formrecognizer.models.RecognizedReceipt; +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.HttpClient; import com.azure.core.http.policy.HttpLogDetailLevel; @@ -53,6 +55,20 @@ private FormRecognizerClient getFormRecognizerClient(HttpClient httpClient, return builder.buildClient(); } + private FormTrainingClient getFormTrainingClient(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()); + AzureKeyCredential credential = (getTestMode() == TestMode.PLAYBACK) + ? new AzureKeyCredential(INVALID_KEY) : new AzureKeyCredential(getApiKey()); + builder.credential(credential); + return builder.buildClient(); + } + /** * Verifies receipt data for a document using source as file url. */ @@ -221,7 +237,7 @@ public void recognizeCustomFormInvalidSourceUrl(HttpClient httpClient, client = getFormRecognizerClient(httpClient, serviceVersion); beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller syncPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, useTrainingLabels); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels); syncPoller.waitForCompletion(); CustomFormModel createdModel = syncPoller.getFinalResult(); @@ -243,7 +259,7 @@ public void recognizeCustomFormLabeledData(HttpClient httpClient, FormRecognizer customFormDataRunner(data -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, useTrainingLabels); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels); trainingPoller.waitForCompletion(); SyncPoller> syncPoller @@ -265,7 +281,7 @@ public void recognizeCustomFormLabeledDataWithNullValues(HttpClient httpClient, customFormDataRunner(data -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller syncPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, useTrainingLabels); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels); syncPoller.waitForCompletion(); assertThrows(RuntimeException.class, () -> @@ -289,7 +305,7 @@ public void recognizeCustomFormLabeledDataWithContentTypeAutoDetection(HttpClien client = getFormRecognizerClient(httpClient, serviceVersion); beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, useTrainingLabels); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels); trainingPoller.waitForCompletion(); SyncPoller> syncPoller @@ -311,7 +327,7 @@ public void recognizeCustomFormUnlabeledData(HttpClient httpClient, FormRecogniz customFormDataRunner(data -> beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { SyncPoller trainingPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, useTrainingLabels); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels); trainingPoller.waitForCompletion(); SyncPoller> syncPoller @@ -339,7 +355,7 @@ void recognizeCustomFormUrlMultiPageLabeled(HttpClient httpClient, FormRecognize client = getFormRecognizerClient(httpClient, serviceVersion); multipageFromUrlRunner(fileUrl -> beginTrainingMultipageRunner((trainingFilesUrl) -> { SyncPoller trainingPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, true); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, true); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = @@ -356,7 +372,7 @@ public void recognizeCustomFormMultiPageUnlabeled(HttpClient httpClient, client = getFormRecognizerClient(httpClient, serviceVersion); multipageFromDataRunner(data -> beginTrainingMultipageRunner((trainingFilesUrl) -> { SyncPoller trainingPoller = - client.getFormTrainingClient().beginTraining(trainingFilesUrl, false); + getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, false); trainingPoller.waitForCompletion(); SyncPoller> syncPoller = 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 index d56db7e54c43..66272182e0f9 100644 --- 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 @@ -55,6 +55,7 @@ import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL; import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL; import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.deserializeRawResponse; +import static com.azure.ai.formrecognizer.TestUtils.FORM_JPG; import static com.azure.ai.formrecognizer.TestUtils.getFileData; import static com.azure.ai.formrecognizer.TestUtils.getSerializerAdapter; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -63,7 +64,6 @@ public abstract class FormRecognizerClientTestBase extends TestBase { private static final String RECEIPT_CONTOSO_JPG = "contoso-allinone.jpg"; - private static final String FORM_JPG = "Form_1.jpg"; private static final String INVOICE_PDF = "Invoice_6.pdf"; private static final String MULTIPAGE_INVOICE_PDF = "multipage_invoice1.pdf"; private static final Pattern NON_DIGIT_PATTERN = Pattern.compile("[^0-9]+"); @@ -535,7 +535,7 @@ static void validateMultiPageDataLabeled(IterableStream recogniz static void validateMultiPageDataUnlabeled(IterableStream recognizedFormResult) { List actualRecognizedFormsList = recognizedFormResult.stream().collect(Collectors.toList()); actualRecognizedFormsList.forEach(recognizedForm -> { - assertEquals("form-0", recognizedForm.getFormType()); + assertNotNull(recognizedForm.getFormType()); assertEquals(1, recognizedForm.getPages().stream().count()); recognizedForm.getFields().forEach((label, formField) -> { assertNotNull(formField.getName()); 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 index 58a11286bc6f..89295e8684ef 100644 --- 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 @@ -6,6 +6,7 @@ import com.azure.ai.formrecognizer.models.CustomFormModel; import com.azure.ai.formrecognizer.models.OperationResult; import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; +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; @@ -47,7 +48,7 @@ static void afterAll() { private FormTrainingAsyncClient getFormTrainingAsyncClient(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder() + FormTrainingClientBuilder builder = new FormTrainingClientBuilder() .endpoint(getEndpoint()) .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) @@ -56,7 +57,7 @@ private FormTrainingAsyncClient getFormTrainingAsyncClient(HttpClient httpClient AzureKeyCredential credential = (getTestMode() == TestMode.PLAYBACK) ? new AzureKeyCredential(INVALID_KEY) : new AzureKeyCredential(getApiKey()); builder.credential(credential); - return builder.buildAsyncClient().getFormTrainingAsyncClient(); + return builder.buildAsyncClient(); } /** 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 new file mode 100644 index 000000000000..64efb57544be --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderTest.java @@ -0,0 +1,183 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.ErrorResponseException; +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.http.policy.RetryPolicy; +import com.azure.core.test.TestBase; +import com.azure.core.util.Configuration; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; + +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.FormTrainingClientTestBase.FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL; +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.VALID_URL; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + +/** + * 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(clientBuilder.buildClient().getFormRecognizerClient().beginRecognizeContentFromUrl(input).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(clientBuilder.buildClient().getFormRecognizerClient().beginRecognizeContentFromUrl(input).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(clientBuilder.buildClient().getFormRecognizerClient().beginRecognizeContentFromUrl(input).getFinalResult())); + } + + // 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 ErrorResponseException("", 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 ErrorResponseException("", 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(getTestingSasUri(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(getTestingSasUri(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(getTestingSasUri(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); + } + + private String getTestingSasUri(String fileName) { + if (interceptorManager.isPlaybackMode()) { + return "https://isPlaybackmode"; + } + + final String testingFileUrl = + Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL); + final String[] urlParts = testingFileUrl.split("\\?"); + return urlParts[0] + "/" + fileName + "?" + urlParts[1]; + } +} 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 new file mode 100644 index 000000000000..725b9c3a3a27 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderUnitTest.java @@ -0,0 +1,69 @@ +// 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 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 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() { + assertThrows(NullPointerException.class, () -> { + final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); + builder.endpoint(VALID_HTTPS_LOCALHOST).credential(null); + }); + } + + /** + * 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/FormTrainingClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTest.java index 243b2ff4bb72..13a4862457c1 100644 --- 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 @@ -9,6 +9,7 @@ import com.azure.ai.formrecognizer.models.ErrorResponseException; import com.azure.ai.formrecognizer.models.OperationResult; 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.HttpClient; import com.azure.core.http.policy.HttpLogDetailLevel; @@ -37,7 +38,7 @@ public class FormTrainingClientTest extends FormTrainingClientTestBase { private FormTrainingClient getFormTrainingClient(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder() + FormTrainingClientBuilder builder = new FormTrainingClientBuilder() .endpoint(getEndpoint()) .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) @@ -46,7 +47,7 @@ private FormTrainingClient getFormTrainingClient(HttpClient httpClient, AzureKeyCredential credential = (getTestMode() == TestMode.PLAYBACK) ? new AzureKeyCredential(INVALID_KEY) : new AzureKeyCredential(getApiKey()); builder.credential(credential); - return builder.buildClient().getFormTrainingClient(); + return builder.buildClient(); } /** 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 index 99d97d99e3ce..b376c7c05c48 100644 --- 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 @@ -215,10 +215,4 @@ private String getTrainingSasUri() { ? "https://isPlaybackmode" : Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL); } - - private String getTestingSasUri() { - return interceptorManager.isPlaybackMode() - ? "https://isPlaybackmode" - : Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TESTING_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 66a8317799c7..22e1191f71fc 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 @@ -58,6 +58,7 @@ final class TestUtils { static final String DISPLAY_NAME_WITH_ARGUMENTS = "{displayName} with [{arguments}]"; private static final String AZURE_FORM_RECOGNIZER_TEST_SERVICE_VERSIONS = "AZURE_FORM_RECOGNIZER_TEST_SERVICE_VERSIONS"; + static final String FORM_JPG = "Form_1.jpg"; private TestUtils() { } @@ -101,7 +102,6 @@ static SerializerAdapter getSerializerAdapter() { return JacksonAdapter.createDefaultSerializerAdapter(); } - /** * Returns a stream of arguments that includes all combinations of eligible {@link HttpClient HttpClients} and * service versions that should be tested. diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithDefaultPipeline.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithDefaultPipeline.json index e007281fb327..50fb065c1573 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithDefaultPipeline.json +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithDefaultPipeline.json @@ -1,21 +1,61 @@ { "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "935a877c-c998-4da6-b52c-5950e3662346", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "1094", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "674b5953-897c-4cdb-a4af-347b0d766e82", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/674b5953-897c-4cdb-a4af-347b0d766e82", + "Date" : "Mon, 18 May 2020 07:11:52 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/674b5953-897c-4cdb-a4af-347b0d766e82", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "1eb43383-1b96-4b18-a52b-1311c19d1149" + }, + "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" : "cc967bb8-59b0-4afb-bac9-846e6e449191", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:11:53Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:11:55Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:11:57 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { "Method" : "GET", - "Uri" : "https://javaformrecognizerlivetestresource.cognitiveservices.azure.com/formrecognizer/v2.0-preview//custom/models?op=summary", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/674b5953-897c-4cdb-a4af-347b0d766e82", "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.2 (11.0.5; Windows 10 10.0)", - "x-ms-client-request-id" : "abb11a7d-2f3e-4f68-942b-e4e92142f331" + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "713f52d4-b865-4f9d-987e-c717f3510cf3" }, "Response" : { "Transfer-Encoding" : "chunked", - "x-envoy-upstream-service-time" : "153", + "x-envoy-upstream-service-time" : "127", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "x-content-type-options" : "nosniff", - "apim-request-id" : "a49d3da9-a219-4764-a515-f80ae7f3cf09", + "apim-request-id" : "cf0cf83d-f9e6-4100-86c3-64cf7bebe8f5", "retry-after" : "0", "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":71,\"limit\":5000,\"lastUpdatedDateTime\":\"2020-05-03T20:44:16Z\"}}", - "Date" : "Sun, 03 May 2020 20:44:16 GMT", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:11:53Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:11:55Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:11:58 GMT", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithNullServiceVersion.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithNullServiceVersion.json index c7c9fccb8737..89fc9a3736aa 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithNullServiceVersion.json +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithNullServiceVersion.json @@ -1,21 +1,61 @@ { "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "b6cd8229-fc72-43e0-bf74-a6cfc2625f46", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "984", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d99eb568-e48d-40a1-a436-33594cabcd94", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/d99eb568-e48d-40a1-a436-33594cabcd94", + "Date" : "Mon, 18 May 2020 07:12:06 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/d99eb568-e48d-40a1-a436-33594cabcd94", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "2cae9983-9677-4714-ade2-fa239b9a3500" + }, + "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" : "921734eb-7226-49f8-8b88-2a0f8959e8ce", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:12:07Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:12:10Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:12:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { "Method" : "GET", - "Uri" : "https://javaformrecognizerlivetestresource.cognitiveservices.azure.com/formrecognizer/v2.0-preview//custom/models?op=summary", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/d99eb568-e48d-40a1-a436-33594cabcd94", "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.2 (11.0.5; Windows 10 10.0)", - "x-ms-client-request-id" : "dacd9494-c9e1-4b2c-9c91-475b816a7cf9" + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "b5f60e37-9e49-41a0-9a11-c71c2880d3ab" }, "Response" : { "Transfer-Encoding" : "chunked", - "x-envoy-upstream-service-time" : "78", + "x-envoy-upstream-service-time" : "144", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "x-content-type-options" : "nosniff", - "apim-request-id" : "fa7ce9a7-b5f1-483a-a684-63f4c6ac29d3", + "apim-request-id" : "0eaeae71-b4b7-4df9-8564-bdca802004d6", "retry-after" : "0", "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":71,\"limit\":5000,\"lastUpdatedDateTime\":\"2020-05-03T20:44:17Z\"}}", - "Date" : "Sun, 03 May 2020 20:44:17 GMT", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:12:07Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:12:10Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:12:11 GMT", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithRotateToValidKey.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithRotateToValidKey.json index 0d2ac64a658c..fcfdb2af3b1c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithRotateToValidKey.json +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/clientBuilderWithRotateToValidKey.json @@ -1,21 +1,61 @@ { "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "fbd3da9d-d558-4001-ba00-4a7d22acc951", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "830", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "689ed30b-f8a7-4687-b2fd-9cb9cf72c1bc", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/689ed30b-f8a7-4687-b2fd-9cb9cf72c1bc", + "Date" : "Mon, 18 May 2020 07:11:59 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/689ed30b-f8a7-4687-b2fd-9cb9cf72c1bc", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "3c0bcff7-e341-44fb-8508-08530c74629b" + }, + "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" : "3e2b531b-9632-45a0-97b9-a48c8a8417f5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:12:00Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:12:03Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:12:04 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { "Method" : "GET", - "Uri" : "https://javaformrecognizerlivetestresource.cognitiveservices.azure.com/formrecognizer/v2.0-preview//custom/models?op=summary", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/689ed30b-f8a7-4687-b2fd-9cb9cf72c1bc", "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.2 (11.0.5; Windows 10 10.0)", - "x-ms-client-request-id" : "3b4d7504-1b8e-4971-89c7-2d43fb8433aa" + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "2957a49e-6b9f-473f-8723-9057fb72f51a" }, "Response" : { "Transfer-Encoding" : "chunked", - "x-envoy-upstream-service-time" : "127", + "x-envoy-upstream-service-time" : "246", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "x-content-type-options" : "nosniff", - "apim-request-id" : "1ec6cf0a-af61-4537-812a-7d0e5d464574", + "apim-request-id" : "1ed191a1-6ad4-4d27-a5a9-5fabb8355256", "retry-after" : "0", "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":71,\"limit\":5000,\"lastUpdatedDateTime\":\"2020-05-03T20:44:17Z\"}}", - "Date" : "Sun, 03 May 2020 20:44:17 GMT", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T07:12:00Z\",\"lastUpdatedDateTime\":\"2020-05-18T07:12:03Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 07:12:05 GMT", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderDefaultPipeline.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderDefaultPipeline.json new file mode 100644 index 000000000000..32c7b4170df1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderDefaultPipeline.json @@ -0,0 +1,84 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "ce5409ab-38f6-4b34-aa95-63afd0b67e47", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "1098", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "21357b11-9821-46d6-9a29-609487fe81bb", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/21357b11-9821-46d6-9a29-609487fe81bb", + "Date" : "Mon, 18 May 2020 06:46:59 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/21357b11-9821-46d6-9a29-609487fe81bb", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "2df4d475-ba69-4d55-94c8-c28fee3b26c4" + }, + "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" : "8b751da9-859f-41a5-a3d4-ad0c6e9d8a4b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2020-05-18T06:46:59Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:46:59Z\"}", + "Date" : "Mon, 18 May 2020 06:47:04 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/21357b11-9821-46d6-9a29-609487fe81bb", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "3e413f4e-36b7-4507-829f-5ca1c6f26971" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "179", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ec19a482-4d1a-4c40-8cb8-0eda3d1bbed7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:46:59Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:07Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/21357b11-9821-46d6-9a29-609487fe81bb", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "e5633cf5-e179-4c38-93d9-918a4be98d8e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "94", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8c452404-1e54-4e84-b06d-4c1d4c581de4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:46:59Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:07Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47: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/trainingClientBuilderInvalidKeyCredential.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderInvalidKeyCredential.json new file mode 100644 index 000000000000..a1e6beedaa2b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderInvalidKeyCredential.json @@ -0,0 +1,19 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//custom/models?op=summary", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "dda46933-ff86-4177-876b-f3491e6b0ce8" + }, + "Response" : { + "retry-after" : "0", + "Content-Length" : "224", + "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" : "Mon, 18 May 2020 06:47:10 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderNullServiceVersion.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderNullServiceVersion.json new file mode 100644 index 000000000000..b3254fb1a29e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderNullServiceVersion.json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "d538818e-8f3f-49cd-be5e-c5e71142c33e", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "906", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "46d18170-b88a-42e0-87e8-ce461c36d11a", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/46d18170-b88a-42e0-87e8-ce461c36d11a", + "Date" : "Mon, 18 May 2020 06:47:18 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/46d18170-b88a-42e0-87e8-ce461c36d11a", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "b1824309-579e-4ada-8064-c6f1095b4db0" + }, + "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" : "e32f7ecb-c9e5-485b-83e6-3d14ed2c8067", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:47:19Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:22Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47:23 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/46d18170-b88a-42e0-87e8-ce461c36d11a", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "1182cc0a-f9ca-428f-8b39-402a255105f3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "102", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a4375124-a13f-43c4-b8db-da0c3c9673fe", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:47:19Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:22Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47: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/trainingClientBuilderRotateToInvalidKey.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderRotateToInvalidKey.json new file mode 100644 index 000000000000..3b85af1cef44 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderRotateToInvalidKey.json @@ -0,0 +1,19 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//custom/models?op=summary", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "05fd9111-b0d6-4688-a615-56937538c3ab" + }, + "Response" : { + "retry-after" : "0", + "Content-Length" : "224", + "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" : "Mon, 18 May 2020 06:47:10 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderRotateToValidKey.json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderRotateToValidKey.json new file mode 100644 index 000000000000..efed1f3531c1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/trainingClientBuilderRotateToValidKey.json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyze", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "f470b1be-f36d-4704-a2c4-8611629f0cca", + "Content-Type" : "application/json" + }, + "Response" : { + "x-envoy-upstream-service-time" : "949", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2eb5a59d-60ab-48bd-9436-818bfc9c60ec", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://savaity-formrecognizer.cognitiveservices.azure.com/formrecognizer/v2.0-preview/layout/analyzeResults/2eb5a59d-60ab-48bd-9436-818bfc9c60ec", + "Date" : "Mon, 18 May 2020 06:47:11 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/2eb5a59d-60ab-48bd-9436-818bfc9c60ec", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "924c0f41-c472-40a3-a9f3-dd22a26f7f9c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "167", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ad7b7fdb-f59c-4b89-958a-75c2fd81c7c1", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:47:12Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:15Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.0-preview//layout/analyzeResults/2eb5a59d-60ab-48bd-9436-818bfc9c60ec", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/1.0.0-beta.3 (11.0.5; Windows 10 10.0)", + "x-ms-client-request-id" : "0081987f-9742-4054-a07d-4abc13012cba" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "79", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "75a54bd3-d7eb-4cfa-bbf2-c84f91179f89", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2020-05-18T06:47:12Z\",\"lastUpdatedDateTime\":\"2020-05-18T06:47:15Z\",\"analyzeResult\":{\"version\":\"2.0.0\",\"readResults\":[{\"page\":1,\"language\":\"en\",\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[137,140,351,140,351,167,137,166],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[137,140,263,140,263,168,138,166],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[271,140,351,140,351,168,272,168],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[620,204,1073,201,1074,264,620,266],\"text\":\"Hero Limited\",\"words\":[{\"boundingBox\":[622,207,788,204,787,266,621,266],\"text\":\"Hero\",\"confidence\":0.959},{\"boundingBox\":[811,204,1075,202,1075,266,811,266],\"text\":\"Limited\",\"confidence\":0.959}]},{\"boundingBox\":[165,351,529,350,530,377,165,379],\"text\":\"Company Phone: 555-348-6512\",\"words\":[{\"boundingBox\":[167,352,275,351,275,379,167,379],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[281,351,362,351,362,378,280,379],\"text\":\"Phone:\",\"confidence\":0.958},{\"boundingBox\":[367,351,529,352,529,374,367,378],\"text\":\"555-348-6512\",\"confidence\":0.946}]},{\"boundingBox\":[1114,320,1551,320,1551,370,1114,370],\"text\":\"Purchase Order\",\"words\":[{\"boundingBox\":[1115,322,1377,320,1377,371,1117,371],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1396,321,1550,321,1549,371,1396,371],\"text\":\"Order\",\"confidence\":0.959}]},{\"boundingBox\":[167,392,534,392,534,419,167,418],\"text\":\"Website: www.herolimited.com\",\"words\":[{\"boundingBox\":[168,392,270,393,269,419,167,418],\"text\":\"Website:\",\"confidence\":0.957},{\"boundingBox\":[275,393,528,393,529,418,274,419],\"text\":\"www.herolimited.com\",\"confidence\":0.872}]},{\"boundingBox\":[164,437,236,437,236,459,164,459],\"text\":\"Email:\",\"words\":[{\"boundingBox\":[165,437,236,437,237,460,165,459],\"text\":\"Email:\",\"confidence\":0.959}]},{\"boundingBox\":[1025,420,1317,419,1317,449,1025,449],\"text\":\"Dated As: 12/20/2020\",\"words\":[{\"boundingBox\":[1026,420,1112,421,1112,450,1025,449],\"text\":\"Dated\",\"confidence\":0.959},{\"boundingBox\":[1118,421,1163,421,1163,450,1117,450],\"text\":\"As:\",\"confidence\":0.957},{\"boundingBox\":[1169,421,1317,420,1317,450,1168,450],\"text\":\"12/20/2020\",\"confidence\":0.958}]},{\"boundingBox\":[166,480,482,479,482,502,166,503],\"text\":\"accounts@herolimited.com\",\"words\":[{\"boundingBox\":[166,484,475,480,473,503,166,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.856}]},{\"boundingBox\":[1025,461,1376,461,1376,488,1025,490],\"text\":\"Purchase Order #: 948284\",\"words\":[{\"boundingBox\":[1027,463,1154,461,1153,490,1026,489],\"text\":\"Purchase\",\"confidence\":0.959},{\"boundingBox\":[1161,461,1241,461,1240,490,1160,490],\"text\":\"Order\",\"confidence\":0.959},{\"boundingBox\":[1246,461,1278,461,1277,489,1246,489],\"text\":\"#:\",\"confidence\":0.959},{\"boundingBox\":[1283,461,1377,462,1376,488,1282,489],\"text\":\"948284\",\"confidence\":0.959}]},{\"boundingBox\":[166,546,397,546,397,594,166,594],\"text\":\"Shipped To\",\"words\":[{\"boundingBox\":[167,546,336,548,337,593,168,595],\"text\":\"Shipped\",\"confidence\":0.959},{\"boundingBox\":[346,548,396,548,397,593,347,593],\"text\":\"To\",\"confidence\":0.959}]},{\"boundingBox\":[160,608,518,608,518,640,160,640],\"text\":\"Vendor Name: Hillary Swank\",\"words\":[{\"boundingBox\":[162,610,257,610,255,640,160,637],\"text\":\"Vendor\",\"confidence\":0.959},{\"boundingBox\":[262,610,347,610,346,641,261,640],\"text\":\"Name:\",\"confidence\":0.959},{\"boundingBox\":[352,610,434,609,433,641,351,641],\"text\":\"Hillary\",\"confidence\":0.959},{\"boundingBox\":[439,609,518,609,517,640,438,641],\"text\":\"Swank\",\"confidence\":0.954}]},{\"boundingBox\":[160,648,628,645,629,680,160,682],\"text\":\"Company Name: Higgly Wiggly Books\",\"words\":[{\"boundingBox\":[162,648,282,647,281,681,161,678],\"text\":\"Company\",\"confidence\":0.959},{\"boundingBox\":[288,647,373,647,372,682,287,682],\"text\":\"Name:\",\"confidence\":0.911},{\"boundingBox\":[379,647,456,647,455,682,378,682],\"text\":\"Higgly\",\"confidence\":0.959},{\"boundingBox\":[462,647,549,646,548,679,461,682],\"text\":\"Wiggly\",\"confidence\":0.959},{\"boundingBox\":[555,646,629,646,628,676,554,679],\"text\":\"Books\",\"confidence\":0.959}]},{\"boundingBox\":[161,684,526,684,526,712,161,712],\"text\":\"Address: 938 NE Burner Road\",\"words\":[{\"boundingBox\":[162,685,271,685,271,713,162,712],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[277,685,324,685,324,713,277,713],\"text\":\"938\",\"confidence\":0.947},{\"boundingBox\":[330,685,365,685,365,713,329,713],\"text\":\"NE\",\"confidence\":0.958},{\"boundingBox\":[370,685,456,685,456,713,370,713],\"text\":\"Burner\",\"confidence\":0.958},{\"boundingBox\":[462,685,526,686,526,713,461,713],\"text\":\"Road\",\"confidence\":0.958}]},{\"boundingBox\":[274,722,603,720,604,751,274,754],\"text\":\"Boulder City, CO 92848\",\"words\":[{\"boundingBox\":[279,723,375,721,374,754,278,754],\"text\":\"Boulder\",\"confidence\":0.959},{\"boundingBox\":[381,721,437,721,436,753,380,754],\"text\":\"City,\",\"confidence\":0.959},{\"boundingBox\":[443,721,479,721,478,753,442,753],\"text\":\"CO\",\"confidence\":0.886},{\"boundingBox\":[485,721,568,721,568,751,484,753],\"text\":\"92848\",\"confidence\":0.937}]},{\"boundingBox\":[612,721,884,721,884,749,612,749],\"text\":\"Phone: 938-294-2949\",\"words\":[{\"boundingBox\":[614,722,707,722,707,750,614,750],\"text\":\"Phone:\",\"confidence\":0.952},{\"boundingBox\":[713,722,884,722,884,749,713,750],\"text\":\"938-294-2949\",\"confidence\":0.956}]},{\"boundingBox\":[165,783,451,783,451,827,166,830],\"text\":\"Shipped From\",\"words\":[{\"boundingBox\":[167,784,336,784,335,829,166,830],\"text\":\"Shipped\",\"confidence\":0.867},{\"boundingBox\":[345,784,441,783,440,825,344,829],\"text\":\"From\",\"confidence\":0.918}]},{\"boundingBox\":[165,851,446,851,446,881,165,880],\"text\":\"Name: Bernie Sanders\",\"words\":[{\"boundingBox\":[166,851,252,853,251,880,165,881],\"text\":\"Name:\",\"confidence\":0.956},{\"boundingBox\":[258,853,339,854,337,880,257,880],\"text\":\"Bernie\",\"confidence\":0.958},{\"boundingBox\":[345,854,447,853,445,881,343,880],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[164,889,629,889,629,920,164,920],\"text\":\"Company Name: Jupiter Book Supply\",\"words\":[{\"boundingBox\":[167,891,287,890,287,920,166,920],\"text\":\"Company\",\"confidence\":0.958},{\"boundingBox\":[293,890,376,890,375,921,292,920],\"text\":\"Name:\",\"confidence\":0.958},{\"boundingBox\":[382,890,470,890,469,921,381,921],\"text\":\"Jupiter\",\"confidence\":0.958},{\"boundingBox\":[476,890,540,890,539,921,475,921],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[546,890,629,890,629,921,545,921],\"text\":\"Supply\",\"confidence\":0.947}]},{\"boundingBox\":[164,926,520,926,520,953,164,953],\"text\":\"Address: 383 N Kinnick Road\",\"words\":[{\"boundingBox\":[166,927,277,927,277,953,165,954],\"text\":\"Address:\",\"confidence\":0.958},{\"boundingBox\":[283,927,330,927,329,953,282,953],\"text\":\"383\",\"confidence\":0.958},{\"boundingBox\":[335,927,353,927,352,953,334,953],\"text\":\"N\",\"confidence\":0.888},{\"boundingBox\":[362,927,452,927,451,954,361,953],\"text\":\"Kinnick\",\"confidence\":0.958},{\"boundingBox\":[457,927,521,927,521,954,457,954],\"text\":\"Road\",\"confidence\":0.959}]},{\"boundingBox\":[280,964,516,964,516,991,280,991],\"text\":\"Seattle, WA 38383\",\"words\":[{\"boundingBox\":[284,965,381,965,380,992,283,992],\"text\":\"Seattle,\",\"confidence\":0.959},{\"boundingBox\":[386,965,432,965,431,992,385,992],\"text\":\"WA\",\"confidence\":0.944},{\"boundingBox\":[438,965,516,964,515,991,437,992],\"text\":\"38383\",\"confidence\":0.959}]},{\"boundingBox\":[759,963,1036,963,1036,991,759,991],\"text\":\"Phone: 932-299-0292\",\"words\":[{\"boundingBox\":[761,964,854,963,852,991,760,990],\"text\":\"Phone:\",\"confidence\":0.959},{\"boundingBox\":[859,963,1034,964,1032,991,857,991],\"text\":\"932-299-0292\",\"confidence\":0.953}]},{\"boundingBox\":[447,1045,557,1045,557,1079,447,1079],\"text\":\"Details\",\"words\":[{\"boundingBox\":[448,1048,555,1046,556,1080,449,1079],\"text\":\"Details\",\"confidence\":0.959}]},{\"boundingBox\":[889,1045,1030,1046,1030,1084,889,1084],\"text\":\"Quantity\",\"words\":[{\"boundingBox\":[889,1046,1029,1046,1027,1084,890,1083],\"text\":\"Quantity\",\"confidence\":0.959}]},{\"boundingBox\":[1114,1046,1271,1047,1271,1078,1114,1077],\"text\":\"Unit Price\",\"words\":[{\"boundingBox\":[1114,1048,1184,1047,1184,1078,1114,1078],\"text\":\"Unit\",\"confidence\":0.959},{\"boundingBox\":[1190,1047,1271,1047,1271,1079,1190,1078],\"text\":\"Price\",\"confidence\":0.958}]},{\"boundingBox\":[1384,1047,1469,1046,1470,1076,1385,1077],\"text\":\"Total\",\"words\":[{\"boundingBox\":[1387,1047,1470,1046,1470,1076,1387,1077],\"text\":\"Total\",\"confidence\":0.858}]},{\"boundingBox\":[172,1094,280,1096,279,1124,172,1121],\"text\":\"Bindings\",\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1124,172,1121],\"text\":\"Bindings\",\"confidence\":0.959}]},{\"boundingBox\":[859,1091,894,1089,895,1118,860,1120],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1091,893,1089,895,1118,863,1120],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1241,1095,1296,1094,1296,1118,1241,1118],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1242,1094,1295,1094,1295,1118,1242,1118],\"text\":\"1.00\",\"confidence\":0.958}]},{\"boundingBox\":[1459,1095,1531,1093,1531,1118,1459,1119],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1094,1530,1093,1531,1118,1460,1119],\"text\":\"20.00\",\"confidence\":0.957}]},{\"boundingBox\":[169,1135,329,1134,329,1162,169,1163],\"text\":\"Covers Small\",\"words\":[{\"boundingBox\":[173,1135,257,1135,256,1163,172,1163],\"text\":\"Covers\",\"confidence\":0.959},{\"boundingBox\":[262,1135,329,1134,328,1163,262,1163],\"text\":\"Small\",\"confidence\":0.958}]},{\"boundingBox\":[860,1137,893,1135,893,1158,861,1160],\"text\":\"20\",\"words\":[{\"boundingBox\":[862,1137,892,1135,893,1158,863,1160],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1136,1294,1135,1294,1159,1239,1159],\"text\":\"1.00\",\"words\":[{\"boundingBox\":[1243,1135,1293,1135,1293,1159,1243,1159],\"text\":\"1.00\",\"confidence\":0.908}]},{\"boundingBox\":[1457,1136,1532,1135,1532,1159,1457,1160],\"text\":\"20.00\",\"words\":[{\"boundingBox\":[1459,1136,1529,1135,1530,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.958}]},{\"boundingBox\":[170,1179,400,1178,400,1205,170,1206],\"text\":\"Feather Bookmark\",\"words\":[{\"boundingBox\":[172,1180,271,1180,270,1206,171,1206],\"text\":\"Feather\",\"confidence\":0.959},{\"boundingBox\":[276,1180,401,1179,400,1206,275,1206],\"text\":\"Bookmark\",\"confidence\":0.949}]},{\"boundingBox\":[863,1181,893,1180,893,1202,863,1203],\"text\":\"20\",\"words\":[{\"boundingBox\":[863,1181,892,1180,892,1202,863,1203],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1239,1179,1295,1179,1295,1202,1239,1202],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1179,1294,1179,1294,1202,1241,1202],\"text\":\"5,00\",\"confidence\":0.423}]},{\"boundingBox\":[1443,1180,1531,1179,1532,1203,1443,1204],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1446,1181,1530,1180,1529,1203,1446,1204],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[168,1222,429,1221,429,1250,168,1252],\"text\":\"Copper Swirl Marker\",\"words\":[{\"boundingBox\":[173,1223,263,1222,263,1252,172,1253],\"text\":\"Copper\",\"confidence\":0.959},{\"boundingBox\":[269,1222,332,1222,332,1251,269,1252],\"text\":\"Swirl\",\"confidence\":0.954},{\"boundingBox\":[338,1222,430,1222,430,1249,338,1251],\"text\":\"Marker\",\"confidence\":0.956}]},{\"boundingBox\":[861,1223,893,1222,893,1246,861,1248],\"text\":\"20\",\"words\":[{\"boundingBox\":[861,1223,892,1222,893,1246,862,1247],\"text\":\"20\",\"confidence\":0.958}]},{\"boundingBox\":[1240,1222,1295,1223,1295,1246,1240,1245],\"text\":\"5,00\",\"words\":[{\"boundingBox\":[1241,1222,1294,1223,1293,1246,1240,1245],\"text\":\"5,00\",\"confidence\":0.424}]},{\"boundingBox\":[1443,1222,1531,1222,1531,1247,1443,1247],\"text\":\"100.00\",\"words\":[{\"boundingBox\":[1445,1223,1529,1222,1529,1248,1444,1248],\"text\":\"100.00\",\"confidence\":0.959}]},{\"boundingBox\":[1148,1574,1296,1574,1296,1599,1148,1599],\"text\":\"SUBTOTAL\",\"words\":[{\"boundingBox\":[1149,1574,1295,1575,1295,1600,1149,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1428,1571,1530,1570,1531,1598,1428,1599],\"text\":\"$140.00\",\"words\":[{\"boundingBox\":[1429,1572,1530,1570,1529,1599,1429,1599],\"text\":\"$140.00\",\"confidence\":0.957}]},{\"boundingBox\":[1238,1619,1295,1618,1295,1642,1237,1642],\"text\":\"TAX\",\"words\":[{\"boundingBox\":[1241,1618,1294,1618,1294,1641,1241,1642],\"text\":\"TAX\",\"confidence\":0.958}]},{\"boundingBox\":[1460,1616,1531,1614,1531,1641,1460,1641],\"text\":\"$4.00\",\"words\":[{\"boundingBox\":[1461,1615,1530,1614,1530,1641,1461,1642],\"text\":\"$4.00\",\"confidence\":0.939}]},{\"boundingBox\":[481,1670,764,1670,764,1708,481,1708],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[483,1672,603,1671,602,1707,482,1707],\"text\":\"Bernie\",\"confidence\":0.909},{\"boundingBox\":[614,1671,764,1670,763,1709,613,1708],\"text\":\"Sanders\",\"confidence\":0.958}]},{\"boundingBox\":[1204,1672,1296,1672,1296,1699,1204,1699],\"text\":\"TOTAL\",\"words\":[{\"boundingBox\":[1207,1674,1295,1672,1296,1700,1207,1699],\"text\":\"TOTAL\",\"confidence\":0.959}]},{\"boundingBox\":[1426,1670,1530,1669,1530,1695,1426,1697],\"text\":\"$144.00\",\"words\":[{\"boundingBox\":[1429,1671,1529,1669,1530,1696,1429,1697],\"text\":\"$144.00\",\"confidence\":0.949}]},{\"boundingBox\":[543,1718,716,1719,716,1743,543,1742],\"text\":\"Bernie Sanders\",\"words\":[{\"boundingBox\":[544,1719,621,1719,621,1743,544,1743],\"text\":\"Bernie\",\"confidence\":0.959},{\"boundingBox\":[626,1719,717,1720,716,1744,626,1743],\"text\":\"Sanders\",\"confidence\":0.959}]},{\"boundingBox\":[581,1754,681,1756,680,1777,581,1776],\"text\":\"Manager\",\"words\":[{\"boundingBox\":[582,1755,681,1756,680,1778,581,1776],\"text\":\"Manager\",\"confidence\":0.957}]},{\"boundingBox\":[173,1796,480,1797,480,1832,173,1830],\"text\":\"Additional Notes:\",\"words\":[{\"boundingBox\":[175,1798,360,1797,360,1833,174,1830],\"text\":\"Additional\",\"confidence\":0.959},{\"boundingBox\":[366,1797,481,1800,481,1832,366,1833],\"text\":\"Notes:\",\"confidence\":0.944}]},{\"boundingBox\":[173,1879,705,1880,705,1912,173,1910],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"words\":[{\"boundingBox\":[176,1883,209,1882,208,1907,174,1906],\"text\":\"Do\",\"confidence\":0.959},{\"boundingBox\":[215,1882,261,1881,260,1908,214,1907],\"text\":\"not\",\"confidence\":0.951},{\"boundingBox\":[266,1881,336,1881,335,1909,265,1908],\"text\":\"Jostle\",\"confidence\":0.958},{\"boundingBox\":[342,1881,403,1880,402,1910,341,1909],\"text\":\"Box.\",\"confidence\":0.892},{\"boundingBox\":[410,1880,504,1880,503,1912,408,1911],\"text\":\"Unpack\",\"confidence\":0.959},{\"boundingBox\":[510,1880,628,1880,627,1913,509,1912],\"text\":\"carefully.\",\"confidence\":0.958},{\"boundingBox\":[633,1880,705,1881,704,1913,632,1913],\"text\":\"Enjoy.\",\"confidence\":0.959}]},{\"boundingBox\":[172,1923,1508,1924,1508,1959,172,1959],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"words\":[{\"boundingBox\":[172,1925,273,1925,273,1959,172,1959],\"text\":\"Jupiter\",\"confidence\":0.955},{\"boundingBox\":[280,1924,359,1924,359,1959,280,1959],\"text\":\"Book\",\"confidence\":0.959},{\"boundingBox\":[366,1924,468,1924,467,1959,366,1959],\"text\":\"Supply\",\"confidence\":0.959},{\"boundingBox\":[474,1924,522,1924,521,1959,474,1959],\"text\":\"will\",\"confidence\":0.959},{\"boundingBox\":[529,1924,628,1924,628,1959,528,1959],\"text\":\"refund\",\"confidence\":0.958},{\"boundingBox\":[635,1924,692,1924,691,1959,634,1959],\"text\":\"you\",\"confidence\":0.958},{\"boundingBox\":[698,1924,762,1924,761,1959,698,1959],\"text\":\"50%\",\"confidence\":0.955},{\"boundingBox\":[773,1924,823,1924,822,1959,772,1959],\"text\":\"per\",\"confidence\":0.958},{\"boundingBox\":[830,1924,904,1924,903,1959,829,1959],\"text\":\"book\",\"confidence\":0.959},{\"boundingBox\":[911,1924,932,1924,931,1959,910,1959],\"text\":\"if\",\"confidence\":0.909},{\"boundingBox\":[938,1924,1065,1924,1064,1959,937,1959],\"text\":\"returned\",\"confidence\":0.959},{\"boundingBox\":[1072,1924,1160,1924,1159,1959,1071,1959],\"text\":\"within\",\"confidence\":0.959},{\"boundingBox\":[1167,1924,1208,1924,1206,1960,1166,1959],\"text\":\"60\",\"confidence\":0.929},{\"boundingBox\":[1215,1924,1287,1924,1285,1960,1213,1960],\"text\":\"days\",\"confidence\":0.959},{\"boundingBox\":[1294,1924,1323,1924,1322,1960,1292,1960],\"text\":\"of\",\"confidence\":0.958},{\"boundingBox\":[1330,1924,1443,1924,1441,1960,1328,1960],\"text\":\"reading\",\"confidence\":0.959},{\"boundingBox\":[1450,1924,1508,1924,1506,1960,1448,1960],\"text\":\"and\",\"confidence\":0.958}]},{\"boundingBox\":[169,1957,786,1957,786,1993,169,1993],\"text\":\"offer you 25% off you next total purchase.\",\"words\":[{\"boundingBox\":[171,1959,239,1958,238,1992,170,1991],\"text\":\"offer\",\"confidence\":0.959},{\"boundingBox\":[245,1958,302,1958,300,1993,244,1992],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[308,1958,371,1958,369,1994,307,1993],\"text\":\"25%\",\"confidence\":0.934},{\"boundingBox\":[385,1958,425,1958,424,1994,384,1994],\"text\":\"off\",\"confidence\":0.958},{\"boundingBox\":[431,1958,488,1958,487,1994,430,1994],\"text\":\"you\",\"confidence\":0.959},{\"boundingBox\":[494,1958,559,1958,558,1994,493,1994],\"text\":\"next\",\"confidence\":0.959},{\"boundingBox\":[565,1958,632,1959,631,1993,564,1994],\"text\":\"total\",\"confidence\":0.959},{\"boundingBox\":[638,1959,785,1960,785,1990,637,1993],\"text\":\"purchase.\",\"confidence\":0.959}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":4,\"columns\":3,\"cells\":[{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"SUBTOTAL\",\"boundingBox\":[1072,1566,1309,1566,1309,1610,1072,1610],\"elements\":[\"#/readResults/0/lines/41/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$140.00\",\"boundingBox\":[1309,1566,1544,1566,1544,1610,1309,1610],\"elements\":[\"#/readResults/0/lines/42/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"TAX\",\"boundingBox\":[1072,1610,1309,1610,1309,1658,1072,1658],\"elements\":[\"#/readResults/0/lines/43/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"$4.00\",\"boundingBox\":[1309,1610,1544,1610,1544,1658,1309,1658],\"elements\":[\"#/readResults/0/lines/44/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Bernie Sanders\",\"boundingBox\":[482,1658,1072,1658,1072,1708,482,1708],\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"TOTAL\",\"boundingBox\":[1072,1658,1309,1658,1309,1708,1072,1708],\"elements\":[\"#/readResults/0/lines/46/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"$144.00\",\"boundingBox\":[1309,1658,1544,1658,1544,1708,1309,1708],\"elements\":[\"#/readResults/0/lines/47/words/0\"]}]},{\"rows\":6,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1038,847,1038,847,1087,156,1087],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1038,1072,1038,1072,1087,847,1087],\"elements\":[\"#/readResults/0/lines/22/words/0\"]},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1072,1038,1309,1038,1309,1087,1072,1087],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"]},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1544,1038,1544,1087,1309,1087],\"elements\":[\"#/readResults/0/lines/24/words/0\"]},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1087,847,1087,847,1128,156,1128],\"elements\":[\"#/readResults/0/lines/25/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1087,1072,1087,1072,1128,847,1128],\"elements\":[\"#/readResults/0/lines/26/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1087,1309,1087,1309,1128,1072,1128],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1087,1544,1087,1544,1128,1309,1128],\"elements\":[\"#/readResults/0/lines/28/words/0\"]},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1128,847,1128,847,1172,156,1172],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1128,1072,1128,1072,1172,847,1172],\"elements\":[\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1072,1128,1309,1128,1309,1172,1072,1172],\"elements\":[\"#/readResults/0/lines/31/words/0\"]},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1128,1544,1128,1544,1172,1309,1172],\"elements\":[\"#/readResults/0/lines/32/words/0\"]},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1172,847,1172,847,1216,156,1216],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1172,1072,1172,1072,1216,847,1216],\"elements\":[\"#/readResults/0/lines/34/words/0\"]},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1172,1309,1172,1309,1216,1072,1216],\"elements\":[\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1172,1544,1172,1544,1216,1309,1216],\"elements\":[\"#/readResults/0/lines/36/words/0\"]},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1216,847,1216,847,1260,156,1260],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1216,1072,1216,1072,1260,847,1260],\"elements\":[\"#/readResults/0/lines/38/words/0\"]},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5,00\",\"boundingBox\":[1072,1216,1309,1216,1309,1260,1072,1260],\"elements\":[\"#/readResults/0/lines/39/words/0\"]},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1216,1544,1216,1544,1260,1309,1260],\"elements\":[\"#/readResults/0/lines/40/words/0\"]}]}]}]}}", + "Date" : "Mon, 18 May 2020 06:47:17 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/test-resources.json b/sdk/formrecognizer/test-resources.json index c49cc1438208..7507daee964b 100644 --- a/sdk/formrecognizer/test-resources.json +++ b/sdk/formrecognizer/test-resources.json @@ -48,6 +48,19 @@ "signedPermission": "rl", "signedResource": "c" } + }, + "multiPageTestingDataContainer": { + "type": "string", + "defaultValue": "testingdata" + }, + "multiPageTestingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('multiPageTestingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", + "signedPermission": "rl", + "signedResource": "c" + } } }, "variables": { @@ -104,6 +117,10 @@ "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)]" } } } \ No newline at end of file