Ir al contenido

Configurar tu marca y tus tiendas

PUT/giftcards/programaProbar

La llamada la hace tu navegador, contra el servidor que elijas arriba. Si la documentación no está servida desde el mismo origen que la API, el navegador puede bloquear la respuesta por CORS: en ese caso abre estas páginas desde la propia API (/docs) o usa el curl de arriba.

PUT
/giftcards/programa
curl --request PUT \
--url http://localhost:3000/v1/giftcards/programa \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '{ "kit": { "nombre": "Cacao Pay", "colores": { "primario": "#6C3BFF", "fondo": "#0F0B1E", "texto": "#FFFFFF" }, "textos": { "titulo": "Tu regalo Cacao Pay · {marca}" } }, "marcas": [ "farmatodo" ] }'

Scope giftcards:write. kit reemplaza el kit COMPLETO; si falla, te devolvemos todos los errores juntos (meta.errores). marcas elige las tiendas que vendes: null vuelve a todas las que te habilitamos. Manda uno o los dos.

Media typeapplication/json
object
kit

Lo que ve quien recibe la gift card. Colores #RRGGBB; texto sobre fondo y sobre superficie con contraste ≥ 4,5 (WCAG AA). El logo va aparte (PUT /giftcards/programa/logo).

object
nombre
required
string
<= 60 characters
colores
object
primario
string
/^#[0-9A-Fa-f]{6}$/
acento
string
/^#[0-9A-Fa-f]{6}$/
fondo
string
/^#[0-9A-Fa-f]{6}$/
superficie
string
/^#[0-9A-Fa-f]{6}$/
texto
string
/^#[0-9A-Fa-f]{6}$/
texto_secundario
string
/^#[0-9A-Fa-f]{6}$/
radio
integer
<= 32
textos

Hasta 60 caracteres. {marca} se cambia por el nombre de la tienda.

object
titulo
string
<= 60 characters
boton_pagar
string
<= 60 characters
boton_secundario
string
<= 60 characters
regalo_para
string
<= 60 characters
soporte
object
whatsapp

Código de país y sólo dígitos

string
/^\d{8,15}$/
email
string format: email
url

Https://

string
pie_legal
string
<= 240 characters
marcas
Array<string>
nullable <= 200 items
Example
{
"kit": {
"nombre": "Cacao Pay",
"colores": {
"primario": "#6C3BFF",
"fondo": "#0F0B1E",
"texto": "#FFFFFF"
},
"textos": {
"titulo": "Tu regalo Cacao Pay · {marca}"
}
},
"marcas": [
"farmatodo"
]
}

El programa actualizado (sube version)

Media typeapplication/json
object
estado
string
Allowed values: activo suspendido
kit
object
nombre
required
string
<= 60 characters
colores
object
primario
string
/^#[0-9A-Fa-f]{6}$/
acento
string
/^#[0-9A-Fa-f]{6}$/
fondo
string
/^#[0-9A-Fa-f]{6}$/
superficie
string
/^#[0-9A-Fa-f]{6}$/
texto
string
/^#[0-9A-Fa-f]{6}$/
texto_secundario
string
/^#[0-9A-Fa-f]{6}$/
radio
integer
<= 32
textos

Hasta 60 caracteres. {marca} se cambia por el nombre de la tienda.

object
titulo
string
<= 60 characters
boton_pagar
string
<= 60 characters
boton_secundario
string
<= 60 characters
regalo_para
string
<= 60 characters
soporte
object
whatsapp

Código de país y sólo dígitos

string
/^\d{8,15}$/
email
string format: email
url

Https://

string
pie_legal
string
<= 240 characters
tieneLogo
boolean
marcas

Las que elegiste; null = todas las habilitadas

Array<string>
nullable
marcasPermitidas

Las que te habilitamos; null = todas

Array<string>
nullable
marcasEfectivas

Las que puedes emitir hoy

Array<string>
nullable
version

Sube con cada cambio

integer
Example
{
"estado": "activo",
"kit": {
"nombre": "Cacao Pay"
}
}

validation_failed: kit inválido, con todos los errores en meta.errores

Media typeapplication/json
object
error
object
meta

Contexto estructurado del error cuando lo hay: qué límite se superó y de cuánto, qué campo es inválido, cuánto saldo había. No aparece en errores internos.

object
key
additional properties
any
type
string
Allowed values: invalid_request_error authentication_error rate_limit_error upstream_error api_error
code

Código ESTABLE. Programa contra esto.

string
message
string
request_id
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "insufficient_balance",
"request_id": "req_8a0312ba896772bc441134cd"
}
}

giftcard_brand_not_allowed: alguna tienda no está habilitada para tu programa (meta.allowedBrands)

Media typeapplication/json
object
error
object
meta

Contexto estructurado del error cuando lo hay: qué límite se superó y de cuánto, qué campo es inválido, cuánto saldo había. No aparece en errores internos.

object
key
additional properties
any
type
string
Allowed values: invalid_request_error authentication_error rate_limit_error upstream_error api_error
code

Código ESTABLE. Programa contra esto.

string
message
string
request_id
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "insufficient_balance",
"request_id": "req_8a0312ba896772bc441134cd"
}
}