AI PadelAPI documentation Back to site

MATCHi integration

MATCHi court booking events: booking created, moved, cancelled. Access: the MATCHi signature in the x-matchi-signature header.

Base URL: https://your-server/api · Guide for this section: MATCHi integration

MATCHi court booking event #

POST/v1/integrations/matchi/{club_id}

Access: MATCHi signature Header x-matchi-signature — HMAC-SHA256 of the request body with the MATCHi event subscription secret, hex. The secret is issued by MATCHi support; the club enters it in its panel.

Subscription endpoint of club club_id for MATCHi events (Matchi Event Portal). The body is the MATCHi envelope {id, detail-type, timestamp, detail}. BookingCreated, BookingMoved and BookingCancelled V1 and V2 are accepted: a MATCHi booking creates, moves or cancels a court booking here — the court is never sold twice, recording on court starts by the booking, highlights and stats go to the players. The MATCHi court (courtId) is mapped to a club court manually in the club panel or by name; times arrive in UTC and are converted to club time; the player is a separate MATCHi player record keyed by the MATCHi customer id (the MATCHi phone is not verified and is not used to link accounts). An event with an already accepted id is not executed again (duplicate=true), so MATCHi redelivery is safe. If the link is switched off in the club panel, the response is 200 with accepted=false. outcome is a human-readable status text (in the club's language) for the integration log, not a code: branch on accepted and duplicate.

Path parameters

NameTypeRequiredDescription
club_idstringyesClub id

Example request

curl -X POST "https://your-server/api/v1/integrations/matchi/c1"

Responses

CodedetailMeaning
200—Success; example below
401bad_signaturex-matchi-signature does not match the club subscription secret
404not_configuredThe club has no MATCHi link set up (no subscription secret)
400bad_jsonThe request body is not a JSON object
413too_largeThe request body is larger than 256 KB
500processing_failedThe event was not processed — MATCHi will retry it
422[…]Parameter or body validation error: detail is a list of errors

Example response

{"accepted": true, "outcome": "<status text>", "duplicate": false}