Skip to content

NVWA operations

The NVWA-RVDM external API lives under /api/NvwaRvdm/. All routes require a JWT obtained via /api/Login/Authenticate (External API surface). The controller is decorated [Authorize(Roles = ApiKey)], so a valid API-key token is required for every action except where noted.


GET /api/NvwaRvdm/Ping — Liveness check

Returns a simple Pong --> <timestamp> string so integrators can confirm the NVWA-RVDM surface is reachable with their credentials.

Request

No body. No query parameters.

Response

200 OK — string:

Pong --> Thursday, 4 June 2026 14:32:11

Example

curl -X GET "https://api.docmation.eu/api/NvwaRvdm/Ping" \
  -H "Authorization: Bearer <jwt>"

AI-drafted from NvwaRvdmController.cs. Verify field names against the NVWA RVDM spec before publishing.


POST /api/NvwaRvdm/AddWorkItemCreate — Add a new RVDM registration to a batch

Submits one NVWA-RVDM "create" work item. The server resolves (or creates) the batch for WorkType.NvwaRvdm for the calling tenant and appends the new item to it; the NVWA bot will pick it up on its next scheduled run.

Request

Body: NvwaRvdmWorkItemCreate — inherits CustomerReference, DocumentReference, WebhookUrl from BaseWorkItem. The plan is to extend this DTO with the RVDM declaration fields (ProductName, DestinationCountry, ExportDate, SenderChamberOfCommerceNo, ReceiverChamberOfCommerceNo, RequestNo, PlannedLoad, CertificateLanguage, CertificateType, etc.); see NvwaRvdmCreate for the expected shape. Translation-typed fields take an object with sendValue and optional documentValue.

{
  "customerReference": "ORDER-12345",
  "documentReference": "DOC-2026-0001",
  "webhookUrl": "https://example.com/webhooks/nvwa",
  "productName": { "sendValue": "MEST (VDM)" },
  "destinationCountry": { "sendValue": "DE" },
  "destinationRegion": { "sendValue": "Niedersachsen" },
  "exportDate": "2026-06-10T00:00:00Z",
  "senderChamberOfCommerceNo": { "sendValue": "12345678" },
  "senderDomestic": { "sendValue": "true" },
  "receiverChamberOfCommerceNo": { "sendValue": "DE-87654321" },
  "receiverDomestic": { "sendValue": "false" },
  "requestNo": { "sendValue": "98200" },
  "plannedLoad": 32.5,
  "certificateLanguage": { "sendValue": "ENNL" },
  "certificateType": { "sendValue": "VDM (Vervoersbewijs Dierlijke Meststoffen)" }
}

Response

200 OK — WorkItemBatchKey: the identifiers of the batch the item landed in and of the item itself.

{
  "workBatchId": 1024,
  "workItemId": 8821
}

Example

curl -X POST "https://api.docmation.eu/api/NvwaRvdm/AddWorkItemCreate" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d @rvdm-item.json

AI-drafted from NvwaRvdmController.cs and the NvwaRvdmCreate / NvwaRvdmWorkItemCreate DTOs. The request DTO is currently a thin shell over BaseWorkItem; the example body assumes the declaration fields from NvwaRvdmCreate. Verify field names and request shape against the live OpenAPI document and the NVWA RVDM specification before publishing.