Mensajes de Uso

Devuelve series diarias y totales de mensajes. La respuesta distingue entre el volumen total, los mensajes que se cobran y los mensajes fallidos/no facturables.

GET https://api.platica.mx/v1/usage/messages

Parámetros de consulta

ParámetroTipoDescripciónRequerido
workspacestringFiltra la respuesta a un workspace específico. Si se omite, devuelve todos los workspaces accesibles
startDatestringFecha inicial ISO 8601 con offset. Si se omite, usa el inicio del periodo de facturación
endDatestringFecha final ISO 8601 con offset. Si se omite, usa el fin del periodo de facturación
groupByenumtype (default), channel, templateCategory, campaign o status
modeenumfast (default) usa agregados diarios; full lee transacciones para costos detallados
universeenumall (default) incluye fallidos/no facturables; billable muestra sólo los que se cobran

Ejemplo: sólo mensajes que se cobran

curl "https://api.platica.mx/v1/usage/messages?workspace=g6yCA16pkWl5eXo7KszB&groupBy=status&universe=billable" \
  -H "Authorization: Bearer $PLATICA_API_KEY"

Respuesta

{
  "workspaces": [
    {
      "id": "g6yCA16pkWl5eXo7KszB",
      "name": "Mi empresa",
      "billingPeriod": {
        "startDate": "2026-06-01T06:00:00.000Z",
        "endDate": "2026-07-01T05:59:59.999Z"
      },
      "dataSince": "2026-05-21T06:00:00.000Z",
      "universe": "all",
      "usage": {
        "planName": "Growth",
        "credits": 6500,
        "mode": "fast",
        "groupBy": "type",
        "range": {
          "startDate": "2026-06-01T06:00:00.000Z",
          "endDate": "2026-07-01T05:59:59.999Z"
        },
        "freshness": {
          "source": "daily_aggregations",
          "lastUpdated": "2026-06-29T18:31:10.000Z",
          "expectedLagSeconds": 30
        },
        "series": [
          { "date": "2026-06-29T12:00:00.000Z", "group": "Servicio", "value": 180 },
          { "date": "2026-06-29T12:00:00.000Z", "group": "Campaña", "value": 40 }
        ],
        "totalsByGroup": [
          {
            "group": "Servicio",
            "messages": 950,
            "nonBillableMessages": 0,
            "creditsUsed": 950,
            "includedValueCentavos": 0,
            "overageCentavos": 0,
            "changePct": -11.2
          },
          {
            "group": "Campaña",
            "messages": 250,
            "nonBillableMessages": 12,
            "creditsUsed": 358,
            "includedValueCentavos": 0,
            "overageCentavos": 0,
            "changePct": 0
          }
        ],
        "summary": {
          "totalMessages": 1200,
          "billableMessages": 1188,
          "nonBillableMessages": 12,
          "failedMessages": 12,
          "serviceCount": 950,
          "campaignCount": 250,
          "creditsUsed": 1308,
          "credits": 6500,
          "totalChangePct": -8.8,
          "serviceChangePct": -11.2,
          "campaignChangePct": 0
        }
      }
    }
  ],
  "workspacesCount": 1
}

Campos principales

CampoDescripción
universeUniverso solicitado: all o billable
usage.modeModo efectivo. Enterprise siempre responde fast
usage.groupByDimensión aplicada
usage.rangeRango efectivo evaluado
usage.seriesSerie diaria del universo seleccionado
usage.totalsByGroup[].messagesMensajes del grupo dentro del universo seleccionado
usage.totalsByGroup[].nonBillableMessagesMensajes del grupo que no se cobran
usage.totalsByGroup[].changePctCambio contra el periodo anterior de igual duración. En full puede ser null
usage.summary.totalMessagesVolumen total, incluidos fallidos/no facturables
usage.summary.billableMessagesMensajes que se cobran
usage.summary.nonBillableMessagesMensajes que no se cobran
usage.summary.failedMessagesMensajes fallidos; no consumen saldo
usage.summary.creditsUsedCréditos consumidos (omitido en enterprise)
usage.freshnessFuente, última actualización y desfase esperado

Modos

ModoUso recomendado
fastDashboards y monitoreo. Incluye cambio porcentual por grupo y normalmente tiene segundos de desfase
fullConciliación exacta de costos sobre transacciones. Máximo 92 días; changePct por grupo puede ser null