Ir al contenido

Reemplazar objeto de datos

put

/data_objects/objects/{type_name}/{external_id}

Usa este endpoint para crear o reemplazar un objeto de datos con semántica de reemplazo completo de atributos.

Requisitos previos

Para usar este endpoint, necesitas una clave de API con el permiso data_objects.update.

Límite de velocidad

Este endpoint está en el contenedor de escritura de objetos de datos con un límite predeterminado de 50 solicitudes por minuto.

Parámetros de ruta

La siguiente tabla enumera y describe los parámetros de ruta para el endpoint /data_objects/objects/{type_name}/{external_id}.

Parámetro Obligatorio Tipo de datos Descripción
type_name Obligatorio String Nombre de máquina del tipo de objeto de datos
external_id Obligatorio String Identificador del objeto

Parámetros de solicitud

La siguiente tabla enumera y describe los parámetros del cuerpo de solicitud JSON para el endpoint /data_objects/objects/{type_name}/{external_id}.

Parámetro Obligatorio Tipo de datos Descripción
attributes Obligatorio Objeto Atributos completos del objeto. Los campos omitidos se eliminan
display_name Opcional String Etiqueta de visualización del objeto. Cuando el tipo tiene un campo de origen de nombre de visualización, el valor de ese campo tiene prioridad. El valor predeterminado es external_id

Ejemplo de solicitud

Esta sección incluye una carga útil JSON de ejemplo y una solicitud cURL de ejemplo.

Carga útil de solicitud de ejemplo

{
  "attributes": {
    "name": "Updated Account"
  }
}

Solicitud cURL de ejemplo

Este ejemplo reemplaza los atributos almacenados en acct-123 con los de la carga útil. Si no existe ningún registro con ese identificador, esta solicitud lo crea.

curl --location --request PUT 'https://rest.iad-01.braze.com/data_objects/objects/account/acct-123' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "attributes": {
    "name": "Updated Account"
  }
}'

Respuesta

Esta sección incluye un ejemplo de respuesta exitosa y los campos de respuesta.

Ejemplo de respuesta exitosa

El código de estado 200 podría devolver el siguiente cuerpo de respuesta. Este endpoint devuelve 200 tanto si la solicitud creó como si reemplazó el objeto.

{
  "data_object": {
    "type_name": "account",
    "external_id": "acct-123",
    "attributes": { "name": "Updated Account" }
  }
}

Parámetros de respuesta

La siguiente tabla enumera y describe los campos de una respuesta exitosa.

Parámetro Obligatorio Tipo de datos Descripción
data_object Obligatorio Objeto Registro de objeto de datos creado o reemplazado
data_object.type_name Obligatorio String Nombre de máquina del tipo de objeto de datos
data_object.external_id Obligatorio String Identificador del objeto de datos
data_object.attributes Obligatorio Objeto Atributos del objeto almacenados indexados por nombre de campo

Errores

La siguiente tabla enumera los errores comunes de este endpoint y cómo resolverlos.

Estado Causa Orientación
400 Error de validación Confirma que cada campo en attributes existe en el esquema del tipo y usa el tipo de datos correcto.
404 Tipo no encontrado (data-object-type-not-found) Confirma que type_name existe en el espacio de trabajo y coincide exactamente con el nombre de máquina.
422 Límite de registros alcanzado (data-object-record-limit-exceeded) cuando esta solicitud crearía un nuevo objeto Reduce la cantidad de objetos del tipo o contacta con soporte de Braze sobre los límites de tu espacio de trabajo.
401 Clave de API REST faltante o no válida Verifica que el encabezado Authorization usa Bearer YOUR_REST_API_KEY y que la clave está activa.
403 La clave de API carece de permiso o la solicitud está bloqueada por la lista de permitidos Confirma que la clave tiene data_objects.update y que tu IP de origen está en la lista de permitidos de la clave, si está configurada.
429 Límite de velocidad excedido Reintenta después de X-RateLimit-Reset y reduce la frecuencia de solicitudes.
New Stuff!