B2B (v1)

Envoi postal d’une lettre (catalogue ou libre). Clé vf_test_ : simulé, non facturé.

post/v1/mailings

Request

  • Base URL: https://api.vitef.com
  • URL: https://api.vitef.com/v1/mailings
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Rend la requête rejouable sans effet en double pendant 24 h (UUID v4 recommandé). Même clé et même requête : la première réponse est renvoyée avec Idempotent-Replayed: true, sans nouvel envoi ni nouveau débit. Même clé pour une autre requête : 422 idempotency_key_reused. Requête identique encore en cours : 409 idempotency_in_progress.

Example:6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87

Request body

letterstring

Slug de la lettre du catalogue.

providerstring

Slug du fournisseur (facultatif).

valuesValues

Valeurs du formulaire, par clé de champ.

signatureImagestring

Signature dessinée à imprimer sur la lettre (catalogue ou lettre libre).

mode'simple' | 'rec' | 'ar' required
referencestring

Votre référence (30 caractères, lettres, chiffres, espace, _ et -).

Example request

{
  "letter": "resiliation-box",
  "provider": "free",
  "values": {
    "ref": "55443322",
    "motif": "Déménagement"
  },
  "sender": {
    "name": "Camille Martin",
    "street": "12 rue des Lilas",
    "city": "69003 Lyon"
  },
  "mode": "ar",
  "reference": "CRM-4812"
}

Response

Envoi créé

titlestring required
mode'simple' | 'rec' | 'ar' | 'lre' required
modeLabelstring required
status'paid' | 'printed' | 'posted' | 'in_transit' | 'delivered' | 'ar_signed' | 'returned' | 'error' | 'canceled' required
statusLabelstring required
stepinteger required
lastStepinteger required

4 (simple, recommandé) ou 5 (recommandé avec AR).

trackingNumberstring
createdAtstring required
idstring required
orderIdstring nullable required
recipientstring[] required
recipientEmailstring

LRE : adresse e-mail du destinataire.

amountCentsinteger required
referencestring nullable required
testboolean required

Envoi simulé (clé vf_test_) : rien n’est posté.

Example response

{
  "id": "8f2c1f0e-5b7a-4c1e-9a3d-2f6b8e1c4d20",
  "orderId": null,
  "title": "Résiliation Free",
  "mode": "ar",
  "modeLabel": "Recommandé avec AR",
  "status": "posted",
  "statusLabel": "Remise à La Poste",
  "step": 2,
  "lastStep": 5,
  "trackingNumber": "1A12345678901",
  "createdAt": "2026-09-24T08:12:03.000Z",
  "events": [
    {
      "step": 0,
      "status": "paid",
      "label": "Payée",
      "at": "2026-09-24T08:12:03.000Z"
    },
    {
      "step": 1,
      "status": "printed",
      "label": "Imprimée",
      "at": "2026-09-24T09:40:00.000Z"
    },
    {
      "step": 2,
      "status": "posted",
      "label": "Remise à La Poste",
      "at": "2026-09-24T15:02:00.000Z"
    }
  ],
  "recipient": [
    "Free – Service Résiliation",
    "TSA 20001",
    "75371 Paris Cedex 08"
  ],
  "amountCents": 940,
  "reference": "CRM-4812",
  "test": false,
  "proofs": [
    {
      "kind": "filing",
      "label": "Preuve de dépôt"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.