122 lines
3.1 KiB
YAML
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
|