Files
han-app/codebase/services/bitrix-sync/openapi.yaml
T

122 lines
3.1 KiB
YAML

openapi: 3.1.0
info:
title: HAN Bitrix Sync
version: 0.1.0
paths:
/health/live:
get:
operationId: healthLive
responses:
"200":
description: Process is alive
/health/ready:
get:
operationId: healthReady
responses:
"200":
description: Full-mode configuration and database are ready
"503":
description: Disabled or a core dependency is not ready
/internal/sync/v1/status:
get:
operationId: syncStatus
security:
- bearerAuth: []
responses:
"200":
description: Low-cardinality operational status without PII
"401":
description: Missing or invalid service token
/bitrix/sync/webhook/contact:
post:
operationId: receiveContactRobot
parameters:
- $ref: "#/components/parameters/ReceiverToken"
- $ref: "#/components/parameters/EntityId"
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: "#/components/schemas/RobotForm"
responses:
"202":
description: Event durably stored
"400":
description: Malformed robot contract
"403":
description: Receiver authentication rejected
"413":
description: Body too large
"503":
description: Sync is disabled
/bitrix/sync/webhook/alert:
post:
operationId: receiveAlertRobot
parameters:
- $ref: "#/components/parameters/ReceiverToken"
- $ref: "#/components/parameters/EntityId"
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: "#/components/schemas/RobotForm"
responses:
"202":
description: Event durably stored
"400":
description: Malformed robot contract
"403":
description: Receiver authentication rejected
"413":
description: Body too large
"503":
description: Sync is disabled
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
parameters:
ReceiverToken:
name: token
in: query
required: true
schema:
type: string
maxLength: 256
description: Secret receiver token; MUST be excluded from logs and traces.
EntityId:
name: ID
in: query
required: true
schema:
type: string
pattern: "^[1-9][0-9]{0,19}$"
schemas:
RobotForm:
type: object
additionalProperties: false
required:
- document_id[0]
- document_id[1]
- document_id[2]
- auth[domain]
- auth[member_id]
properties:
document_id[0]:
type: string
document_id[1]:
type: string
document_id[2]:
type: string
auth[domain]:
type: string
auth[member_id]:
type: string
auth[client_endpoint]:
type: string
auth[server_endpoint]:
type: string