Skip to main content
Version: v1.0

Quickstart

Step-by-step guide to integrating your CRM with Spot2 Ingestion.


Prerequisites

Before you begin, make sure you have:

  • A REST endpoint that exposes your properties as JSON.
  • The ability to add authentication (API key, bearer token, or custom header).
  • Offset-based pagination implemented.
  • Commercial properties (not residential).

Step 1 — Build your endpoint

Create a GET endpoint that returns your active properties as JSON:

GET https://your-crm.com/api/v1/spot2/properties

Minimum requirements:

  • Content-Type: application/json.
  • Authentication: x-api-key or Authorization: Bearer.
  • Pagination: offset with meta.next in the response.
  • Each property must include at least these fields:
    • external_id — your unique, immutable identifier.
    • property_type — one of: oficina, local, bodega, nave_industrial, terreno, edificio, local_en_centro_comercial.
    • modalityrent, sale or rent_and_sale.
    • price.rent_price or price.sale_price — at least one price greater than 0.
    • price.currency — ISO 4217 code (default MXN).
    • location.city — city.
    • location.state — state.
    • updated_at — last modified date in ISO 8601.

Optional but highly recommended:

  • photos — at least 1 photo URL.
  • location.latitude and location.longitude — coordinates.
  • agent.email or agent.phone — agent contact.

Full field details, types, validations, and examples are in Property Schema.


Step 2 — (Optional) Set up your webhook

If you want to receive notifications when a property is published or rejected, expose a POST endpoint:

POST https://your-crm.com/api/webhooks/spot2/feedback

You will receive:

  • item_accepted: the property was published successfully.
  • item_rejected: the property was rejected (includes messages with the reasons in natural language).

If you don't set up the webhook, your properties still get published but you won't receive error notifications.

The full webhook contract is in Feedback Webhook.


Step 3 — (Optional) Implement explicit deletion

To have delistings reflected quickly on Spot2, add an endpoint that returns the IDs of deleted properties:

GET https://your-crm.com/api/v1/spot2/properties/deleted

This is optional: if you don't implement it, we detect delistings via reconciliation (comparing your feed against our records).

Details in Deletion Protocol.


Deliverables summary

#What you needRequiredReference doc
1GET endpoint for propertiesYesSync Protocol + Property Schema
2POST endpoint for webhookNoFeedback Webhook
3GET endpoint for deletionsNoDeletion Protocol

Next steps