Aller au contenu
RingUp
Essai gratuit

Touchez Prête depuis votre caisse.

Une petite API REST en HTTPS et JSON, avec clés d'idempotence et webhooks signés. Tout ce que fait la page équipe, votre système peut le faire.

L'API est incluse dans les offres Comptoir et Groupe. Voir les tarifs

S'authentifier

Envoyez votre clé en jeton bearer. Les clés de production commencent par rk_live_ et les clés de test par rk_test_.

Créez un ticket à la commande

Envoyez votre numéro de commande et récupérez le numéro de ticket et le lien à imprimer en QR sur le ticket de caisse.

curl https://api.useringup.com/v1/tickets \
  -H "Authorization: Bearer $RINGUP_KEY" \
  -H "Idempotency-Key: order-4182" \
  -H "Content-Type: application/json" \
  -d '{ "queue": "B", "external_ref": "4182" }'

201 Created
{ "id": "tk_8f2a…", "display_number": "B-27",
  "url": "https://r.useringup.com/t/Zp3…", "status": "created" }

Marquez-le prêt une fois dressé

Renvoyer la même requête avec la même Idempotency-Key ne pose aucun problème : le client n'est appelé qu'une fois.

curl -X POST https://api.useringup.com/v1/tickets/tk_8f2a…/ready \
  -H "Authorization: Bearer $RINGUP_KEY" \
  -H "Idempotency-Key: order-4182-ready"

200 OK
{ "rang": true, "channel_used": "push", "call_out_loud": false }

Suivez ce que font les clients

Chaque envoi est signé en HMAC-SHA256. Vérifiez-le avec le SDK ou dix lignes de votre propre code.

import { verifyWebhookSignature } from '@ringup/sdk'

const result = await verifyWebhookSignature(
  process.env.RINGUP_WEBHOOK_SECRET,
  rawBody,
  request.headers.get('RingUp-Signature'),
)
if (!result.ok) return new Response('bad signature', { status: 400 })

Limites

120 écritures par clé et par établissement en rafale, rechargées à une par seconde ; les lectures sont plus généreuses. Chaque réponse porte les en-têtes RateLimit, et les erreurs suivent les documents de problème RFC 9457.