admin
lsa-admin

Google Lsa Conversations

Read local_services_lead_conversation straight from Google for one LSA account (optionally scoped to one lead_resource_name) and, when reconcile is set, diff the consumer messages against leads.google_lsa_conversation_message.

The ground-truth read behind the "does Google return the customer's later replies?" question. missing_from_db_count is the dropped set — messages Google returned that we never stored. missing_from_thread_count is reported separately and is usually benign (lead intakes and revival openers are persisted as synthetic intakes, so they carry no conversation-keyed external_id); PHONE_CALL/BOOKING rows land in non_message_count rather than looking like loss. No watermark/lookback suppression (unlike the poller); message_channel_only=false widens past the MESSAGE channel. Read-only; one Google Ads op.

get/admin/lsa/conversations

Request

  • Base URL
    https://api-docs.upsmith.com (the document declares no server; this is the origin it was published from)
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Query parameters

organization_idstring required
google_customer_idstring required
lead_resource_namestring nullable
lookback_daysinteger
message_channel_onlyboolean
reconcileboolean

Headers

organization-idstring nullable
timezonestring
x-user-idstring nullable
x-actor-emailstring nullable
x-request-sourcestring nullable
x-operation-idstring nullable
x-commit-messagestring nullable
x-confirmation-idstring nullable
x-chat-idstring nullable

Response

Successful Response

organization_idstring required
google_customer_idstring required
lead_resource_namestring nullable

When set, results are scoped to this one Google LSA lead resource name.

sincestring date-time required

Lower bound (UTC) on event_date_time that was queried.

lookback_daysinteger required
message_channel_onlyboolean required

Whether the query was restricted to the MESSAGE channel (the poller's filter). False = every channel.

reconciledboolean required

Whether consumer messages were diffed against what we stored.

google_countinteger required

Conversation messages Google's API returned.

consumer_countinteger required

Of those, how many are CONSUMER (customer) rows, messages or not.

consumer_message_countinteger required

Of the consumer rows, how many are actual messages (text or attachments) — the ingest denominator.

non_message_countinteger required

Consumer rows that carry no message: PHONE_CALL and BOOKING events on the lead. Excluded from the ingest counts because they can never be an interaction.

present_in_db_countinteger nullable

Consumer messages we ingested (present in leads.google_lsa_conversation_message). None if skipped.

missing_from_db_countinteger nullable

Consumer messages Google returned that we never stored — the genuinely dropped set, and the only count here that means message loss. None if reconcile skipped.

missing_from_thread_countinteger nullable

Ingested consumer messages with no conversation-id-keyed interaction. Expected and benign for lead intakes and revival openers (both persisted as synthetic intakes); investigate only alongside a customer reporting an unanswered reply. None if reconcile skipped.

Changes

No recorded changes to this operation across all 2 revisions of this API.