A Nova Marketing Group service
Docsmenu

OneStopAnalyze

The recommended single-call method for address capture. OneStopAnalyze combines the functionalities of AnalyzeGetAlternatives, BrowseAddressEx, and ParseAddress into one request, returning a corrected address with a SERP status code and up to N alternatives for ambiguous input.

http
POST /OneStopAnalyze

Request#

NameTypeDescription
AddressLayoutRequiredstringName of the address layout to interpret the input against (see /docs/layouts).
AnalysisModeRequiredstringName of the analysis mode (FLEXIBLE / MODERATE / STRICT / oneStop / …).
CorrectionStyleRequiredstringCasing and keyword treatment for the corrected output (see /docs/styles).
AddressLinesInRequiredLineContent[]Array of { strName, strContent } pairs matching the layout. For free-form input use a single line with strName: "".
MaxAlternativesnumberCap the Alternatives array. Common: 5 for autocomplete, 200 for batch correction.
MaxNamesToAddressesnumberMaximum alternatives returned when the engine expands a name into addresses.
BrowsingLevelnumberHow aggressively to browse for completions on partial input (0–3).
GuessingFlagsnumberBitmask controlling permissive parsing behaviors.

Example request#

bash
curl $NCODE_BASE/OneStopAnalyze \
-H "Authorization: AcmeLogistics|nck_live_…" \
-H "Content-Type: application/json" \
-d '{
  "AddressLayout": "oneStop Address Layout",
  "AnalysisMode": "oneStop Analysis Mode",
  "CorrectionStyle": "MIXED KYWD",
  "AddressLinesIn": [{ "strName": "", "strContent": "100 King St W Toronto ON M5X 1A9" }],
  "MaxAlternatives": 5,
  "MaxNamesToAddresses": 20,
  "BrowsingLevel": 2
}'

Response#

NameTypeDescription
intRetCodeRequirednumber0 = success. Non-zero = error; see strMessage.
strMessageRequiredstringHuman-readable result message.
strStatusRequiredstringSERP status: V / C / N / I / F. See /docs/status-codes.
HashCodestringStable hash for the canonical address — useful for deduplication.
AddressCompletebooleanTrue when input was sufficient for a definitive single answer.
AlternativesAddress[]Parsed and corrected address candidates. Cardinality bounded by MaxAlternatives.
ActualAlternativesFoundnumberTotal alternatives available before the MaxAlternatives cap.
CountrystringSet when the input is foreign and could not be matched to a Canadian record.

Example response#

json
{
"intRetCode": 0,
"strMessage": "OK",
"strStatus": "V",
"AddressComplete": true,
"HashCode": "F8…2A",
"Alternatives": [
  {
    "AddressElements": {
      "TypeOfAddress": "AES_StreetAddress",
      "StreetNumberFrom": "100",
      "StreetName": "KING",
      "StreetType": "ST",
      "StreetDirection": "W",
      "Municipality": "TORONTO",
      "Province": "ON",
      "PostalCode": "M5X 1A9"
    }
  }
],
"ActualAlternativesFound": 1
}

Tips#

  • For autocomplete UIs, send each keystroke as a separate request with MaxAlternatives: 5 and render the resulting Alternatives[].AddressElements as suggestions.
  • For batch correction, prefer AnalyzeRecords — billed per record, but a single round-trip for many addresses.
  • The engine sometimes returns a single alternative for a fully-valid input. Trust strStatus: V as the canonical signal, not the array length.
  • See TransformAddress if you need to reformat the result into a different AddressLayout after capture.