Note |
---|
Please note that any requests for deleting GlobalSearch Objects (like database, archives, fields, lists, tables, documents, etc) will happen instantly and cannot be reversed. Use with care and consideration. |
Table of Contents | ||||
---|---|---|---|---|
|
Initial Configuration
Download and import postman collection below;
View file | ||
---|---|---|
|
...
user
- Windows or Square 9 username. If a windows domain user include the domain prefixpassword
- Password for the user, should be set to be type "secret"domain
- the FQDN of the GlobalSearch server, including the HTTP/HTTPS protocol
Info |
---|
Using different environments in this manner allows you to quickly switch between users and GlobalSearch Servers. Note that you may have clear Postman cookies! |
Getting a License
See Authentication and Licensing/Get License
GET request to /square9api/api/licenses, uses Basic Authentication to pass in user name and password.
The username and password are populated by the Postman Environment ({{user}}
and {{password}}
variables) currently in use.
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
The response to this request will contain the token in both the request body, cookies and headers. Both a |
Deleting a License
See Authentication and Licensing/Delete License
DEL request to /square9api/api/licenses/{token} will delete (pre GlobalSearch 6.1) or deactivate (GlobalSearch 6.1+) the given license token.
...
Note |
---|
Please note that any requests for deleting GlobalSearch Objects (like database, archives, fields, lists, tables, documents, etc) will happen instantly and cannot be reversed. Use with care and consideration. |
Table of Contents | ||||
---|---|---|---|---|
|
Initial Configuration
Download and import postman collection below;
View file | ||
---|---|---|
|
Create a Postman Environment with the following values;
user
- Windows or Square 9 username. If a windows domain user include the domain prefixpassword
- Password for the user, should be set to be type "secret"domain
- the FQDN of the GlobalSearch server, including the HTTP/HTTPS protocol
Info |
---|
Using different environments in this manner allows you to quickly switch between users and GlobalSearch Servers. Note that you may have clear Postman cookies! |
Expand | ||
---|---|---|
| ||
The Authentication and Licensing/Get License request will store the returned license token both as a cookie and as a Postman collection variable. The cookies are carried over to other requests made from the same collection and used for authentication. The Get License request is configured to clear out the cookies prior to running so that the returned values are stored correctly. For this to work you have to first enable access to the domain that the requests are going to;
|
Getting a License
See Authentication and Licensing/Get License
GET request to /square9api/api/licenses, uses Basic Authentication to pass in user name and password.
The username and password are populated by the Postman Environment ({{user}}
and {{password}}
variables) currently in use.
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
The response to this request will contain the token in both the request body, cookies and headers. Both a |
Deleting a License
See Authentication and Licensing/Delete License
DEL request to /square9api/api/licenses/{token} will delete (pre GlobalSearch 6.1) or deactivate (GlobalSearch 6.1+) the given license token.
Managing Licenses is an important part of interacting with GlobalSearch APIs, you should attempt to use licenses for as small a time as possible and return (or delete) them when not in use so that human users of GlobalSearch have enough licenses available to access the program.
Getting the DatabaseID
See Database/Get Database List
Each GlobalSearch Database will have a unique database ID, these are static values and will not change under normal circumstances
Example Response Body
Code Block |
---|
{
"Databases": [
{
"Id": 1,
"Name": "SmartSearch",
"SecurityLevel": 0,
"Manager": null
},
{
"Id": 2,
"Name": "BrewHaven",
"SecurityLevel": 0,
"Manager": null
}
]
} |
From the above we can see that the “SmartSearch” database has a database ID of 1 while the “BrewHaven” database has a database ID of 2.
Getting the ArchiveID
See Archives\Get Archives
Each GlobalSearch Archive will have a static and unique archive ID that is used to identify the Archive.
Example Response Body
Code Block |
---|
[
{
"ID": 1,
"Name": "LEGAL",
"Parent": 0,
"BasePath": {
"Default": false,
"Path": "C:\\GlobalSearch\\archive\\SmartSearch\\TestArchiv",
"UniqueName": false
},
"CreateBrowse": false,
"Fields": [
19,
20
],
<truncated> |
The response body will be a JSON document with an array of objects representing the archives. In the above example response we can see that the “LEGAL” archive has an ID of “1”.
SecureIDs
SecureIDs are hashes used to uniquely identify a Search or a Document.
Document SecureID
See Document Actions/Get Document Secure ID
You will need to pass in the Database ID, ArchiveID and DocumentID as well as a license token.
Response:
The response if successful will simply be the document’s SecureID.
Code Block |
---|
c8e570f5c59ba9e5fe0d33fc8b02906e795b27b126355bd84d6a3c3afdab647c |
Search SecureID
See Searching/Get Archive Searches or Searching/Get Archive Search if you know the SearchID already
Generally any request that returns information about a search should include the Search’s SecureID. See below for an example response from Get Archive Search where we are passing in the search id via URL parameter.
Response:
Code Block |
---|
[
{
"Archives": [
{
"ID": 1,
"Name": "LEGAL"
}
],
"Id": 1,
"Parent": 1,
"Name": "Browse TestArchiv123",
"Hash": "d51d69e6892f6bde8b703e946e01c8ca6061e8dc29eb90f03b650dd38add64b6",
"Detail": [
{
"ID": 8035,
"FID": 19,
"ListID": 9,
"ListF1": 0,
"ListF2": 0,
"Parent": 0,
"Operator": 6,
"Prompt": "",
"VAL": "ssIsNull",
"Prop": 64,
"FieldType": 1,
"Mask": ""
}
],
"Props": 0,
"Fuzzy": 0,
"Grouping": "",
"Settings": 6
}
] |
Uploading and Indexing a Document (in Chunks)
...
Get GlobalSearch License
Request: GET Authentication and Licenses/Get License
Uses Basic Authentication using the postman
{{user}}
and{{password}}
variables (pulled from Postman Environment)
Start file upload to server
Request: POST Chunking Upload/Create Archive Job
this will return the unique JobID that you will need to use in later requests
The timestamp value here needs to be unique for each job
Upload file chunk
Request: POST Chunking Upload/Upload File Chunk
Body:Code Block language json {"Index":1, "RawData":base64endcodedfilecontent, "JobID":jobid}
In this example we are assuming that the file is small enough to be reasonably uploaded in one chunk.
PDF is base64 encoded, in this case since there is only one chunk the Index value is 1
Online Base64 encoding service: https://www.base64encode.org/
The Postman collection includes the
{{pdfvaluefull}}
variable which is a full PDF encoded to base64 that can be used with this request as long as you are doing a one chunk only upload.
...
Finalize Upload
Request: GET Chunking Upload/Finalize Upload
This will write the completed chunks to a file in the WebPortalCache directory, the return value from this request will be that file name. This file name is used in the last request when indexing the document.
Import Document from WebPortalCache
Request: POST Document Actions/Import Document from WebPortalCache
Example Body of Request:
Code Block | ||
---|---|---|
| ||
{ "fields": [ { "name": FieldID, "value": IndexFieldValue } ], "files":[ {"name":WebPortalCacheFilename} ] } |
...
Get GlobalSearch License
Request: GET Authentication and Licenses/Get License
Uses Basic Authentication using the postman
{{user}}
and{{password}}
variables (pulled from Postman Environment)
...
Info |
---|
By default it will attempt to find a PDF file called “UnsupportedDocumentFormat.pdf“ in your Postman files directory (by default this is C:\Users\<username>\Postman\files). You can update this to be whatever file you wish. |
Request: POST Document Actions/Upload File To Server
Uses request body form-data to upload files
Note that you can add multiple files by adding more “file” keys to the form-data section.
Select the request and switch to the Body tab;
...
Index the document
Request: POST Document Actions/Import Document from WebPortalCache
Example Body of Request:
Code Block | ||
---|---|---|
| ||
{ "fields": [ { "name": FieldID, "value": IndexFieldValue } ], "files":[ {"name":WebPortalCacheFilename} ] } |
Running a search
Postman flow example:
...
See Searching/Run Search
In order to run a search you will need the following;
...
Page - Mainly used by GlobalSearch Web/LAN to return a limited number of results in page like fashion
RecordsPerPage - The number of results to return
SecureId - The "Hash" of the search
count - Only returns the number of documents found, without information about the documents themselves
Moving a Document
See Document Actions/Copy Document and Document Actions/Move Document
Note |
---|
Please note that you should always fetch the SecureID values anytime that you need to use them, they are updated often. This applies to any version of the SecureID, whether it be search or document. |
...
Updating Index data on a Document
See Document Actions/Update Index Data
In order to update index data fro a document you will need to know the following, see previous sections for how to obtain these.
...