Skip to main content

Tango Sales Inbound API

Generated from Tango Sales Inbound API Integration Design Specification V1.1.docx in SharePoint folder 02 Lease Integrations. OAS spec: sales-inbound-api.yaml

Overview

Async REST API: client posts monthly sales data to Tango for percentage-rent calculations. Sales data lands under the Percentage Rent tab of Lease Financials. The lease must be Active with a Percent Rent agreement also Active before data lands. Owner: Tango Analytics Spec version: 1.1 Status: Draft (auto-generated — needs review)

Base URLs

Authentication

Headers x-client + x-api-key.

Endpoints

PUT /v1/leasemgmt/sales

Integration logic

  • Either lease_number or store_number must be present; both are needed if multiple leases attach to one store.
  • Percent rent calculations operate on Calendar Period / Calendar Year (not fiscal).
  • Sales code is optional — the unique identifier is (sales_exclusion, sales_category).
  • Data update: data received for the same month overwrites the previous run.
  • Sales Forecast is replaced when Actual is later sent for the same month/year/category combination.
  • Annual / Monthly CAP% logic: see source doc — applied when 12th period (annual) or each period (monthly) is ACTUAL and CAP% is set on the exclusion category.

Data model

Validations

  1. Both store_number and lease_number missing → Store Number/Lease Number cannot be blank
  2. Invalid lease_number → Lease Number is not valid
  3. Invalid store_number → Store Number is not valid
  4. Lease status not active → Lease status is not active for lease number <>
  5. Percent Rent status not active → Percent rent status should be ACTIVE
  6. sale_exclusion not in lookup → sales_exclusion should have valid lookups
  7. sales_category not in lookup → sales_category should have valid lookups
  8. actual_forecast not (ACTUAL, FORECAST) → actual_forecast does not match expected value
  9. sales_category missing → sales_category is missing or empty
  10. sales_category not configured in UI → sales setup missing for sales category: <>
  11. country missing → country cannot be blank
  12. effective_from/effective_to outside sales-setup dates → Sales setup missing for sales category: <> for store Number: <>

Open Questions / Assumptions

  • Status URL typo: source doc lists /v1batch/status (no slash between v1 and batch). Other Tango APIs use /v1/batch/status. The YAML preserves the doc verbatim — confirm and correct on next revision.
  • Pre-requisites: full sales/exclusion category list and percent-rent scenarios must be provided by the client before integration starts; changes later are change orders.
  • sales_code is optional but is recommended as the lookup PERCENT_RENT_SALES_CODE value.
  • Monthly vs Annual CAP% — Cap Frequency on the Sales Setup defaults to ANNUAL if left blank. CAP% logic differs.
  • record_key shape in error responses is a semicolon-joined tuple store;cm;cy;category.

Changelog