Saltar al contenido principal
POST
Cancela el plan de una tienda

Autorizaciones

Authorization
string
header
requerido

Tu llave de API, enviada como Authorization: Bearer <key>. Las llaves reales y de prueba son distintas; la llave que envías decide en qué modo actúa la llamada. Para probar llamadas, usa una llave de prueba (empieza con lst_test_): no se envía ningún repartidor real y no se mueve dinero real, pero los webhooks se disparan y el dropoff.phone que des puede recibir mensajes de WhatsApp, así que usa tu propio número. Una llave real (empieza con lst_live_) reserva y cobra envíos reales.

Encabezados

Idempotency-Key
string
requerido

Obligatorio: una llamada sin él se rechaza con validation_failed, indicando este encabezado. Genera una llave NUEVA para cada llamada lógica (un UUID sirve bien), de hasta 255 caracteres, y envía la MISMA llave cuando reintentes esa llamada tras un tiempo de espera o una conexión caída. La misma llave con el mismo cuerpo devuelve la respuesta ORIGINAL, con su código de estado incluido, en lugar de volver a hacer el trabajo, durante 24 horas. La misma llave con un cuerpo distinto se rechaza con 409 idempotency_conflict, y también un reintento que llega mientras la primera solicitud aún se procesa (vuelve a intentarlo en un momento). Una llave pertenece a tu cuenta y al modo de la llave de API que la envió (las llaves de producción y de prueba nunca se cruzan), así que el mismo texto de dos cuentas, o de una llave de producción y una de prueba, son dos llaves distintas.

Parámetros de ruta

store_id
string
requerido

Respuesta

La solicitud fue exitosa.

Un punto de recolección. La disponibilidad para cobrar con tarjeta NO es un campo aquí a propósito: tiene endpoint propio, con detalle propio de requisitos pendientes.

id
string
requerido

El id de la tienda, con prefijo st_.

Ejemplo:

"st_4bR8kM2wQ7xT1nV5cZ9pLdYe"

external_id
string | null
requerido

Tu propia referencia de esta ubicación, si enviaste una. Es única por modo de llave, y se puede filtrar en la lista, para que puedas conciliar contra tu propio libro de tiendas sin guardar nuestros ids.

Ejemplo:

"pos-store-41"

name
string
requerido

El nombre que le diste a la tienda; para un restaurante que conectó una cuenta con varias sucursales, el negocio y la sucursal, como lo leen sus propios clientes (Tortería La Mera Mera, Zapopan). Una sucursal cuyo nombre ya empieza con el nombre del negocio, como Tortería La Mera Mera Centro, se publica tal cual. Cuando envías un nombre, un valor que empieza con el nombre de negocio de la tienda y una coma se lee como ese negocio más la sucursal, así que devolver el nombre que leíste no cambia nada.

phone
string
requerido

E.164, normalizado al recibirlo.

street
string
requerido
apt_unit
string | null
requerido
lat
number<double> | null
requerido
lng
number<double> | null
requerido
pickup_notes
string | null
requerido

Instrucciones permanentes para el repartidor que recoge aquí.

timezone
string
requerido

La zona IANA en la que la tienda guarda sus horarios, normalizada a una sola escritura por zona. Se deriva de las coordenadas de la tienda, y se vuelve a derivar cada vez que la posición de la tienda se mueve. Una zona que tú envías se usa solo cuando la posición no puede responder (una tienda sin coordenadas, o una posición que ninguna zona reclama), y una que no coincide con la posición ni se guarda ni se trata como error.

Ejemplo:

"America/Mexico_City"

default_business_fee_share
integer
requerido

La parte de la tarifa de envío que esta tienda cubre por defecto, como porcentaje. El resto se cobra al cliente. Solo está vigente cuando default_fee_split_mode es percent; en cualquiera de los dos modos de monto, este es el porcentaje que la tienda conserva para cuando vuelva a ser uno.

Rango requerido: 0 <= x <= 100
default_fee_split_mode
enum<string>
requerido

Qué forma tiene el reparto predeterminado de esta tienda, y por eso cuál de los dos campos de arriba y de abajo está vigente. percent reparte la tarifa según default_business_fee_share; business_amount significa que la tienda cubre hasta default_fee_split_amount_cents de ella y el cliente paga el resto; customer_amount es el espejo, el cliente paga hasta ese monto y la tienda cubre el resto.

Solo lectura. Lo fija el restaurante en su propia consola de Listo, y enviar default_business_fee_share al crear o actualizar devuelve la tienda a percent.

Opciones disponibles:
percent,
business_amount,
customer_amount
default_fee_split_amount_cents
integer | null
requerido

El monto entre el que dividen la tarifa los dos modos de monto, en centavos. Es null en modo percent, y nunca es null en ninguno de los dos modos de monto. Solo lectura.

Rango requerido: x >= 0
access_tier
enum<string>
requerido

Cuánto de Listo usa la propia tienda. Los envíos de una tienda api_only gastan tu saldo, y los de una tienda wallet o full gastan el suyo; billing dice cuál. Se puede escribir al crear y al actualizar, y siempre es api_only en una tienda de prueba. Una tienda real de una cuenta cuyos restaurantes pagan su propio Plan Listo no puede ser api_only: no tiene consola desde la cual comprar un plan, así que una creación o una actualización que lo pida se rechaza con 422 validation_failed y param: "access_tier".

Opciones disponibles:
api_only,
wallet,
full
markup_cents
integer
requerido

Tu propio margen sobre cada envío de esta tienda, en centavos. Se suma a la tarifa de envío, se reparte con el cliente como el resto de la tarifa, y se abona a tu saldo cuando el envío se entrega. Se puede escribir al crear y al actualizar.

Rango requerido: x >= 0
billing
enum<string>
requerido

De quién es el saldo que paga los envíos de esta tienda, leído de access_tier para que nunca tengas que derivarlo: partner es tuyo, store es el propio de la tienda. Solo lectura. No es quién paga el plan de la tienda, que es plan.paid_by.

Opciones disponibles:
partner,
store
test
boolean
requerido
created_at
string<date-time>
requerido
plan
object | null
requerido

El Plan Listo de la tienda, o null cuando la tienda no necesita plan: una tienda de prueba, o una tienda real creada antes de que existiera Plan Listo, que sigue pidiendo repartidores sin uno. También es null cuando la tienda paga su propio plan (cada tienda de una cuenta cuyas tiendas pagan su propio Plan Listo) y el restaurante todavía no ha comprado uno: el restaurante lo compra en su propia consola, y no tienes nada que pagar ni reactivar. También es null para una tienda de un socio con el esquema de precios sin Plan Listo, que no necesita plan. Cuando es un objeto, todas las llaves están presentes, y las que no aplican son null. Consulta Plan y facturación.