Skip to content

Liste MED

Liste les processus MED (Mécanisme Spécial de Restitution) associés au compte.

Le MED est un mécanisme de la Banque Centrale pour la récupération de valeurs en cas de fraude ou de défaillance opérationnelle sur le système PIX.

Endpoint

GET /api/external/med

Headers

HeaderTypeObligatoireDescription
AuthorizationStringOuiApiKey {client_id}:{client_secret}
X-Key-CaseStringNonDéfinissez à camelCase pour recevoir les champs de la réponse en camelCase (par défaut snake_case)

Permissions

Cet endpoint exige la permission payment:read sur l'API Key. Les clés sans cette permission reçoivent HTTP 403.

Exemple

bash
curl -X GET https://api.minhakonta.com/api/external/med \
  -H "Authorization: ApiKey $CLIENT_ID:$CLIENT_SECRET"

Pas de pagination native

Cet endpoint consulte le provider PIX/BACEN en temps réel et n'accepte pas de paramètres de pagination (page/per_page/limit). Tous les MED liés à l'entité sont retournés dans une seule réponse. Pour de grands volumes, filtrez localement dans votre système après réception du tableau.

Réponse de succès (200)

json
{
  "worked": true,
  "meds": [
    {
      "id": "MED20260307001",
      "type": "REFUND_REQUEST",
      "status": "ACKNOWLEDGED",
      "amount": 50000,
      "original_end_to_end_id": "E04838403202603071530000001",
      "created_at": "2026-03-07T18:00:00Z"
    },
    {
      "id": "MED20260305002",
      "type": "REFUND_CANCELLED",
      "status": "CLOSED",
      "amount": 15000,
      "original_end_to_end_id": "E04838403202603051200000003",
      "created_at": "2026-03-05T14:30:00Z"
    }
  ]
}
ChampTypeDescription
workedBooleantrue indique le succès de l'opération
medsArrayListe des processus MED
meds[].idStringIdentifiant unique du MED
meds[].typeStringType du MED (voir tableau ci-dessous)
meds[].statusStringStatus actuel du processus
meds[].amountIntegerValeur en unités de base (÷ 10 000 pour reais). 50000 = R$ 5,00
meds[].original_end_to_end_idStringE2E de la transaction PIX originale
meds[].created_atStringDate d'ouverture (ISO 8601)

Types de MED

TypeDescription
REFUND_REQUESTDemande de remboursement (fraude, escroquerie ou accord)
REFUND_CANCELLEDAnnulation d'une demande de remboursement précédente

Status du MED

Valeurs retournées par le provider PIX (PIX/BACEN) en MAJUSCULES. L'API transmet la valeur telle que reçue - il n'y a pas de normalisation.

StatusDescriptionDécision finale
ACKNOWLEDGEDMED reçu et reconnu par le participant, en analyseNon - en attente de défense ou du délai
CLOSEDMED finalisé par le participantOui - voir analysisResult dans med-detail pour distinguer AGREED (remboursement exécuté) de DISAGREED (défense acceptée, sans remboursement)
CANCELLEDMED annulé par le demandeur avant analyseOui - aucune valeur n'a été bloquée ni remboursée

Status en uppercase

Les status MED sont toujours retournés en MAJUSCULES. Si votre filtre attend des minuscules (pending/accepted/closed), il ne trouvera aucune ligne. C'est une différence consciente par rapport aux status de transaction PIX (lowercase) - MED suit la convention BACEN originale.

Corrélation avec transaction originale

Utilisez le champ original_end_to_end_id pour localiser la transaction PIX originale qui a motivé le MED. Consultez via GET /api/external/transactions/:id ou GET /api/external/transactions/ref/:external_id si vous avez stocké l'external_id.

Retour dans les environnements dev/homologation

Cet endpoint consulte le provider PIX directement - il ne lit pas depuis une table locale. En dev/homologation il peut retourner un tableau vide si le provider PIX n'a pas de MEDs de test pour l'entité configurée. En production, il retourne la liste réelle des processus MED de votre compte telle que transmise par PIX/BACEN.

Les défaillances du provider retournent un tableau vide

En cas d'indisponibilité temporaire du provider PIX, l'endpoint retourne {"worked": true, "meds": []} (silencieusement, sans 5xx). Si vous recevez un tableau vide de façon persistante alors que vous attendez des MEDs, consultez le support pour vérifier s'il y a indisponibilité du provider.

Réponse de succès -- sans MEDs (200)

json
{
  "worked": true,
  "meds": []
}

Réponse d'erreur (401)

json
{
  "worked": false,
  "errors": {
    "unauthorized": "Missing API key credentials. Use Authorization: ApiKey <client_id>:<client_secret>"
  }
}

Valeurs en dispute

Quand un MED exige une analyse, la valeur contestee peut etre temporairement reservee et apparaitre dans pending jusqu'a la decision finale.

Quand le MED est resolu (CLOSED):

  • AnalysisResult=AGREED indique une contestation acceptee et une restitution executee.
  • AnalysisResult=DISAGREED indique une contestation rejetee ou une defense acceptee, sans restitution.

Abonnez-vous aux webhooks pix.infraction.created, pix.refund.requested, pix.infraction.defense_submitted et pix.infraction.resolved. Pour repondre a un MED via API, utilisez POST /api/external/med/:id/defense avec payment:write. Voir Infractions.

Minha Konta Instituição de Pagamento - ISPB 39929224