POST /rfq/pricer.
A pricer is the service that quotes RFQs for your LP account.
Register before you price over either transport.
The WebSocket refuses a connection from an account with no pricer, and the webhook needs a registered URL.
Before you start
1
Become an LP
Registration works only for an LP account. If you aren’t one yet, email developers@novig.com.
2
Expose your webhook
A webhook URL must be reachable from the public internet. For local work, register the
https URL of a tunnel like ngrok.Authenticate with your access token
All three calls take the OAuth 2.0 client-credentials token you use for the rest of the API. Authentication shows how to get one.
The examples read the host from
NOVIG_HOST.
Set it once:
Register or change your webhook
POST /rfq/pricer creates your pricer on the first call.
A later call changes the webhook URL.
Request body
webhookUrl is the absolute http or https base URL your pricer listens on.
It can include a path, like /novig.
We add /quote, /confirm, and /ping to it.
The body takes no other field.
We refuse a body with an unknown field.
Register for the WebSocket only
Send an empty body on your first call to register without a webhook. You get no shared secret, because nothing is signed.null for webhookUrl and sharedSecret.
On a later call, a missing webhookUrl leaves your registration as it is.
You can’t remove a webhook once you register it.
If you keep a webhook and also connect the WebSocket, both receive every RFQ.
We keep the first quote you send for each RFQ.
If the WebSocket is off in an environment, a first call with no
webhookUrl returns 400. We’d have no way to reach you.Response
200 OK:
Both
webhookUrl and sharedSecret are null for a WebSocket-only pricer.
Errors
Your shared secret
The shared secret is the key we use to sign each webhook request. You use the same key to check the signature. Webhook signing shows how. We create the secret on the first call that sends awebhookUrl.
It is 32 random bytes, sent as 64 lowercase hex characters.
You can’t choose it or upload your own.
A later call that changes the URL keeps the same secret.
A WebSocket-only pricer has no shared secret.
The WebSocket checks your access token when you connect.
Check your registration
GET /rfq/pricer returns your current registration, without the secret.
200 OK:
confirmStanding and lock show where you stand against the confirm rate.
It returns 404 if you have no pricer yet.
Test your webhook
POST /rfq/pricer/ping sends a signed test request to <webhookUrl>/ping and tells you how your webhook answered.
Use it to check that we can reach you and that your signature check works.
A successful ping also restarts a paused webhook.
/ping handler.
Response
200 OK:
status is null when the request never completed, because of a connection failure or a timeout.
error is then set.
Errors
A WebSocket-only pricer has nothing to ping.
To test the WebSocket, connect and read the reply to your
subscribe frame.
