Documentación

Marca

El kit de marca es el estándar con que Dátil escribe y dibuja cada pieza, y con el que la revisa antes de que se pueda aprobar: identity (nombre, logos, pares de color con su contraste AA, tipografías), voice (tono, trato tu o usted , palabras que usa y que nunca usa), offer (cliente, tres beneficios, pruebas con su cifra y su fuente, llamados a la acción), rules (líneas obligatorias, afirmaciones y nombres prohibidos —los competidores siempre lo están, competitors —, categorías reguladas), images (estilo, personas, escenarios, lo que nunca se muestra, logo obligatorio), sound (modo propose o library , carácter, voz y las pistas elegidas) y examples , las piezas aprobadas ( yes ) y rechazadas ( no ). Dátil propone el kit desde tus páginas y tu marca; proposed lista los campos que nadie ha confirmado. Una pieza que no cumple una regla no se aprueba: 400 brand_check_failed con details.rules .

Consultar el kit de marca#

GET /api/v1/brand Bearer

El kit de tu organización, o el de una oferta con offering_id . Antes de que exista, el kit con que se revisan tus piezas hoy, sin id .

Parámetros

offering_id string

El id de una oferta: su propio kit.

Devuelve · 200 con el kit · 404 para una oferta que no es de tu organización.

cURL
curl "https://edge.datil.com/api/v1/brand" \
  -H "Authorization: Bearer $DATIL_API_KEY"
Respuesta · 200
{
  "object": "brand_kit",
  "id": "9b0c1d2e-3f4a-4b5c-8d6e-7f8a9b0c1d2e",
  "offering_id": null,
  "identity": {
    "name": "Tienda Pro",
    "logo_light": "https://tienda.example/logo.png",
    "logo_dark": null,
    "colors": [
      {
        "role": "base",
        "background": "#1d3557",
        "foreground": "#f1faee",
        "contrast": 11.32
      }
    ],
    "fonts": [
      "datil_sans"
    ]
  },
  "voice": {
    "tone": [
      "preciso",
      "sobrio",
      "directo"
    ],
    "trato": "tu",
    "words_to_use": [
      "factura",
      "en línea"
    ],
    "words_never": [
      "barato"
    ]
  },
  "offer": {
    "target_customer": "Contadores y tiendas de Ecuador",
    "benefits": [
      "Factura desde el teléfono"
    ],
    "proofs": [
      {
        "claim": "Negocios que facturan",
        "figure": "1.200",
        "source": "https://tienda.example/pro"
      }
    ],
    "ctas": [
      "Compra en línea"
    ]
  },
  "rules": {
    "mandatory_lines": [
      "Precios incluyen IVA"
    ],
    "forbidden_claims": [
      "el más barato"
    ],
    "forbidden_names": [],
    "regulated": []
  },
  "competitors": [
    "rival"
  ],
  "images": {
    "style": "photo",
    "people": true,
    "settings": [
      "tiendas"
    ],
    "never_show": [
      "billetes"
    ],
    "logo_required": true
  },
  "sound": {
    "mode": "propose",
    "preset": "confianza",
    "vocals": "no",
    "picks": [
      {
        "external_ref": "rec-1",
        "title": "Northline",
        "artist": "Ada North",
        "kind": "music",
        "mood": "Confident",
        "bpm": 120,
        "vocals": false
      }
    ]
  },
  "examples": [],
  "proposed": [
    "offer.proofs"
  ],
  "proposed_by": "model:primary",
  "confirmed_at": null,
  "updated_at": "2026-09-27T14:32:11Z"
}

Escribir el kit de marca#

PUT /api/v1/brand Bearer

Escribe las secciones que el cuerpo nombra, campo por campo: lo que no nombras queda como está. Cada campo escrito queda confirmado, y también los que confirm nombra.

Cuerpo de la solicitud

offering_id string

El id de una oferta: escribe su propio kit.

identity object

name , logo_light , logo_dark (URL https o ruta), colors ( role base , accent o detail , background , foreground en #rrggbb ; contraste AA) y fonts ( datil_sans , datil_sans_data ).

voice object

tone (3 a 5 adjetivos), trato ( tu o usted ), words_to_use , words_never .

offer object

target_customer , benefits (hasta 3), proofs ( claim , figure con una cifra, source ) y ctas (hasta 5, de 24 caracteres).

rules object

mandatory_lines , forbidden_claims , forbidden_names y regulated ( finanzas , empleo , vivienda , politica , salud , alcohol , apuestas ).

images object

style ( photo , illustration o text_only ), people , settings , never_show y logo_required .

sound object

mode ( propose propone una pista por video, library usa solo las elegidas), preset ( auto , energia , confianza , cercania , tecnologia , sobrio ), vocals ( no , yes , any ) y picks ( external_ref , title , artist , kind , mood , bpm , vocals ).

confirm array

Campos propuestos que confirmas como están ( voice.tone , offer.proofs …).

Devuelve · 200 con el kit · 403 · 404 · 422 con errors .

cURL
curl -X PUT https://edge.datil.com/api/v1/brand \
  -H "Authorization: Bearer $DATIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "voice": {
    "tone": [
      "preciso",
      "sobrio",
      "directo"
    ],
    "trato": "tu"
  },
  "rules": {
    "mandatory_lines": [
      "Precios incluyen IVA"
    ]
  }
}'
Respuesta · 200
{
  "object": "brand_kit",
  "id": "9b0c1d2e-3f4a-4b5c-8d6e-7f8a9b0c1d2e",
  "offering_id": null,
  "identity": {
    "name": "Tienda Pro",
    "logo_light": "https://tienda.example/logo.png",
    "logo_dark": null,
    "colors": [
      {
        "role": "base",
        "background": "#1d3557",
        "foreground": "#f1faee",
        "contrast": 11.32
      }
    ],
    "fonts": [
      "datil_sans"
    ]
  },
  "voice": {
    "tone": [
      "preciso",
      "sobrio",
      "directo"
    ],
    "trato": "tu",
    "words_to_use": [
      "factura",
      "en línea"
    ],
    "words_never": [
      "barato"
    ]
  },
  "offer": {
    "target_customer": "Contadores y tiendas de Ecuador",
    "benefits": [
      "Factura desde el teléfono"
    ],
    "proofs": [
      {
        "claim": "Negocios que facturan",
        "figure": "1.200",
        "source": "https://tienda.example/pro"
      }
    ],
    "ctas": [
      "Compra en línea"
    ]
  },
  "rules": {
    "mandatory_lines": [
      "Precios incluyen IVA"
    ],
    "forbidden_claims": [
      "el más barato"
    ],
    "forbidden_names": [],
    "regulated": []
  },
  "competitors": [
    "rival"
  ],
  "images": {
    "style": "photo",
    "people": true,
    "settings": [
      "tiendas"
    ],
    "never_show": [
      "billetes"
    ],
    "logo_required": true
  },
  "sound": {
    "mode": "propose",
    "preset": "confianza",
    "vocals": "no",
    "picks": [
      {
        "external_ref": "rec-1",
        "title": "Northline",
        "artist": "Ada North",
        "kind": "music",
        "mood": "Confident",
        "bpm": 120,
        "vocals": false
      }
    ]
  },
  "examples": [],
  "proposed": [
    "offer.proofs"
  ],
  "proposed_by": "model:primary",
  "confirmed_at": null,
  "updated_at": "2026-09-27T14:32:11Z"
}
Sin conexión — reintentando…

Esenciales

Sesión, seguridad, idioma y tema. Sin ellas el sitio no funciona.

Siempre activas