Skip to content

External ticket sync

examples/external_ticket_sync.php implements record reconciliation from external systems lacking server-side idempotency keys.

Source items require an external_id and title. The script generates a stable [external:<id>] marker, queries Okatana before creation, and updates existing tickets.

Input example:

[
  {
    "external_id": "INC-4831",
    "title": "Checkout latency regression",
    "priority": "high",
    "description_html": "<p>Imported from external service desk.</p>"
  }
]

Run:

EXTERNAL_TICKETS_JSON=external-tickets.json php examples/external_ticket_sync.php

High-volume integrations should persist the ID mapping locally after creation. Search-based reconciliation serves as a fallback mechanism.