REST Resource: inventory.partners.merchants

Recurso: Comercio

Es la información sobre un comercio que se encuentra en la plataforma del agregador.

Representación JSON
{
  "name": string,
  "merchantName": string,
  "telephone": string,
  "url": string,
  "geo": {
    object (GeoCoordinates)
  },
  "category": string,
  "numBookings30d": string,
  "taxRateBasisPoints": integer,
  "taxRate": {
    object (TaxRate)
  },
  "paymentRestrictions": {
    object (PaymentRestrictions)
  },
  "paymentOption": [
    {
      object (PaymentOption)
    }
  ],
  "paymentProcessorConfig": {
    object (PaymentProcessorConfig)
  },
  "tokenizationConfig": {
    object (TokenizationConfig)
  },
  "terms": {
    object (Terms)
  },
  "brandId": string,
  "matchingHints": {
    object (MerchantMatchingHints)
  },
  "serviceAttribute": [
    {
      object (ServiceAttribute)
    }
  ],
  "actionLink": [
    {
      object (ActionLink)
    }
  ],
  "waitlistAdvisement": {
    object (Advisement)
  }
}
Campos
name

string

Es el nombre del recurso del comercio, en el formato partners/{partner_id}/merchants/{merchantId}.

merchantName

string

El campo merchant_name, el teléfono, la URL y la información geográfica permiten correlacionar el inventario del socio con comercios que ya se incluyen en Google Maps. Esta información no se mostrará.

Es el nombre del comercio.

telephone

string

Es el número de teléfono público del comercio, incluidos sus códigos de país y de área, p.ej., +14567891234.

url

string

Se refiere a la URL del sitio web público del comercio.

geo

object (GeoCoordinates)

Es la información geográfica del comercio, incluidas la latitud, la longitud y la dirección.

category

string

Indica la categoría de la empresa en la plataforma del agregador.

numBookings30d
(deprecated)

string (int64 format)

Este campo es obsoleto.

taxRateBasisPoints
(deprecated)

integer (uint32 format)

Es la tasa impositiva del comercio en puntos básicos (la centésima parte de un punto porcentual). Por ejemplo, si la tasa impositiva es del 7.5%, este campo se debe establecer en 750.

Si este campo no se define o se establece en 0, el precio total que se cobra a un usuario por cualquier servicio provisto por este comercio es el precio exacto especificado en Service.price. Se supone que el precio del servicio está exento de impuestos o que ya incluye los impuestos aplicables. Los impuestos no se mostrarán al usuario como una línea de pedido separada.

Si este campo se establece en un valor distinto de cero, el precio total que se le cobrará a un usuario por cualquier servicio provisto por este comercio incluirá el precio del servicio más el impuesto calculado con la tasa impositiva proporcionada aquí. Las fracciones de la unidad monetaria más pequeña (por ejemplo, fracciones de un centavo) se redondearán al número entero más cercano. Los impuestos se mostrarán al usuario como una línea de pedido separada.

Este campo es obsoleto; utiliza taxRate en su lugar.

taxRate

object (TaxRate)

Es la tasa impositiva del comercio. Si está presente, este campo anula el campo taxRateBasisPoints obsoleto. Un mensaje vacío (es decir, taxRate { }) restablecerá la tasa impositiva aplicada a cero.

paymentRestrictions

object (PaymentRestrictions)

Son las restricciones relacionadas con las formas de pago que acepta este comercio. Suponemos que no existen restricciones si no se establece este campo.

paymentOption[]

object (PaymentOption)

Son las opciones de pago disponibles para este comercio. Los servicios de este comercio podrán limitar individualmente las opciones de pago que permiten.

paymentProcessorConfig
(deprecated)

object (PaymentProcessorConfig)

Es la configuración de un procesador de pagos con tokens, si el comercio lo admite.

tokenizationConfig

object (TokenizationConfig)

Es la configuración de un procesador de pagos con tokens, si el comercio lo admite.

terms

object (Terms)

Son los Términos y Condiciones específicos del comercio que se muestran al usuario cuando se reserva un servicio a través de Reserva con Google. Además, los Términos y Condiciones del socio agregador siempre se muestran al usuario y no se deben proporcionar aquí.

brandId

string

Es una string opaca que identifica la marca orientada al consumidor que se debe utilizar al mostrar la atribución del socio. Este campo permite que los socios con varias marcas orientadas al consumidor proporcionen comercios para todas las marcas dentro del mismo feed.

Una marca consiste en propiedades orientadas al consumidor, como el nombre, el logotipo, las Condiciones del Servicio y la Política de Privacidad.

Si solo hay una marca de socio orientada al consumidor, este campo se puede omitir.

Posibles situaciones:

El socio no tiene varias marcas orientadas al consumidor: Omite este campo.

El socio tiene varias marcas configuradas:

  If this field is set
    --> Associated consumer-facing brand attribution is used

  If this field is unset or the empty string
    --> Default consumer-facing brand attribution is used

Nota importante: La mayoría de los socios no necesitan establecer este campo. Si un socio desea utilizar este campo, primero debe comunicarse con nosotros para configurar marcas separadas, incluida la marca predeterminada.

matchingHints

object (MerchantMatchingHints)

Son las sugerencias para ayudar a Google a correlacionar un comercio con un lugar en Google Maps. Nota: La mayoría de los socios no necesitan configurar este campo, ya que Google utilizará la información proporcionada anteriormente para establecer una coincidencia entre los comercios y los lugares de Google Maps. (opcional)

serviceAttribute[]

object (ServiceAttribute)

Son las definiciones de cualquier atributo de servicio utilizado para describir los servicios de este comercio. (opcional)

waitlistAdvisement

object (Advisement)

Opcional. Consejos generales de un comercio específico para un usuario que se une a una lista de espera a través de Reserva con Google. Los campos de texto individuales en el aviso deben tener un límite de 100 bytes de longitud.

PaymentRestrictions

Son las restricciones relacionadas con las formas de pago que acepta este comercio.

Representación JSON
{
  "creditCardRestrictions": {
    object (CreditCardRestrictions)
  }
}
Campos
creditCardRestrictions

object (CreditCardRestrictions)

Son las restricciones relacionadas con las tarjetas de crédito que acepta este comercio. Asumimos que se aceptan todas las tarjetas de crédito si no se establece este campo. Ten en cuenta que la lista de tarjetas compatibles con CreditCardType aumentará con el tiempo. Eso significa que, si este campo se deja vacío, la configuración queda sujeta a cambios futuros.

CreditCardRestrictions

Son las restricciones relacionadas con los tipos de tarjeta de crédito que acepta este comercio.

Representación JSON
{
  "creditCardType": [
    enum (CreditCardType)
  ]
}
Campos
creditCardType[]

enum (CreditCardType)

Indica una lista de las tarjetas de crédito admitidas. Si este campo está vacío, no se admite ninguna tarjeta de crédito.

CreditCardType

Es un tipo de tarjeta de crédito.

Enumeradores
CREDIT_CARD_TYPE_UNSPECIFIED No se utiliza.
VISA Hace referencia a una tarjeta de crédito Visa.
MASTERCARD Hace referencia a una tarjeta de crédito Mastercard.
AMERICAN_EXPRESS Hace referencia a una tarjeta de crédito American Express.
DISCOVER Hace referencia a una tarjeta de crédito Discover.
JCB Hace referencia a una tarjeta de crédito JCB.

PaymentOption

Es una opción de pago, que se puede utilizar para pagar los servicios proporcionados por un comercio. Las opciones de pago se pueden compartir entre varios comercios (p. ej., aquellos que pertenecen a la misma cadena).

Representación JSON
{
  "paymentOptionId": string,
  "name": string,
  "description": string,
  "price": {
    object (Price)
  },
  "taxRate": {
    object (TaxRate)
  },
  "paymentOptionType": enum (PaymentOptionType),
  "sessionCount": string,
  "purchaseInterval": {
    object (TimeRange)
  },
  "validInterval": {
    object (TimeRange)
  },
  "validDuration": string,
  "activationType": enum (ActivationType),
  "userRestriction": {
    object (UserPurchaseRestriction)
  }
}
Campos
paymentOptionId

string

Este ID se utiliza para identificar esta opción de pago.

Este ID es global, por lo que se aplica a todo el agregador. Esto implica que, si se reutiliza en varios comercios, un mismo usuario podrá pagar con la opción de pago correspondiente en todos esos comercios.

Cuando se reutiliza un ID en varios comercios y se actualiza cualquier valor de una opción de pago en uno de ellos, también se actualizarán todas las demás opciones de pago con el mismo ID en los otros comercios. Por lo tanto, se recomienda que todas las opciones de pago que compartan el mismo ID siempre se actualicen a valores idénticos para evitar cualquier posibilidad de comportamientos no esperados.

name

string

Es el nombre de la opción de pago. Puede ser visible para el usuario.

description

string

Es una descripción de la opción de pago. Puede ser visible para el usuario.

price

object (Price)

Es el precio de la opción de pago.

taxRate

object (TaxRate)

Es la tasa impositiva para esta opción de pago. Si está presente, este campo anula el campo taxRate presente en Comercio o Servicio. Un mensaje vacío (es decir, taxRate { }) restablecerá la tasa impositiva aplicada a cero.

paymentOptionType

enum (PaymentOptionType)

Indica el tipo de esta opción de pago. Uso único para las compras ocasionales, usos múltiples para los paquetes y uso ilimitado para las membresías.

sessionCount

string (int64 format)

Indica la cantidad de sesiones para las que se puede usar esta opción de pago. Válido solo para sesiones múltiples y paquetes, donde el valor debe ser superior a 1.

purchaseInterval

object (TimeRange)

La opción de pago se puede comprar dentro de este intervalo.

validInterval

object (TimeRange)

La opción de pago se puede utilizar dentro de este intervalo (p. ej., precio especial para enero de 2017). Si está presente, anula los campos validDuration y activationType.

validDuration

string (Duration format)

Es la duración de la validez de la opción de pago (p. ej., una membresía de 30 días).

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

activationType

enum (ActivationType)

Define cómo se determina la fecha de inicio para la validez de esta opción de pago.

userRestriction

object (UserPurchaseRestriction)

Restringe los usuarios aptos para hacer compras utilizando esta opción de pago. Se puede usar para restringir una opción de pago promocional a un subconjunto de usuarios. Si no se establece, todos los usuarios son aptos.

PaymentOptionType

Es un tipo de opción de pago.

Enumeradores
PAYMENT_OPTION_TYPE_UNSPECIFIED No se utiliza.
PAYMENT_OPTION_SINGLE_USE La opción de pago solo se puede utilizar una vez.
PAYMENT_OPTION_MULTI_USE La opción de pago se puede utilizar si su recuento de sesiones es superior a 0.
PAYMENT_OPTION_UNLIMITED La opción de pago se puede utilizar dentro de su período de validez. No aplica el recuento de sesiones.

ActivationType

Define cómo se determina la fecha de inicio para la validez.

Enumeradores
ACTIVATION_TYPE_UNSPECIFIED No se utiliza.
ACTIVATION_ON_PURCHASE La validez comienza en el momento de la compra.
ACTIVATION_ON_FIRST_USE La validez comienza cuando la opción de pago se utiliza por primera vez.

UserPurchaseRestriction

Restringe los usuarios aptos para hacer compras utilizando una opción de pago determinada.

Representación JSON
{
  "newToMerchant": boolean,
  "newToPaymentOption": boolean
}
Campos
newToMerchant

boolean

Es una opción de pago que solo pueden utilizar los usuarios que nunca antes realizaron una compra en ese mismo comercio.

newToPaymentOption

boolean

Es una opción de pago que solo pueden utilizar los usuarios que nunca antes compraron la misma opción de pago.

PaymentProcessorConfig

Es una configuración de un procesador de pagos, que se define individualmente para cada comercio.

Representación JSON
{
  "processor": enum (Processor),
  "publicKey": string,
  "version": string
}
Campos
processor

enum (Processor)

Define el socio del procesador de pagos al que se aplica esta configuración.

publicKey

string

Es la clave utilizada para identificar a este comercio con el procesador de pagos.

Para obtener información sobre Stripe, consulta https://stripe.com/docs/dashboard#api-keys. Para obtener información sobre Braintree, consulta https://articles.braintreepayments.com/control-panel/important-gateway-credentials.

version

string

Es el número de versión de la API que se envía al procesador de pagos junto con las solicitudes de pago.

Processor

Define un socio del procesador de pagos específico.

Enumeradores
PROCESSOR_UNSPECIFIED No se utiliza.
PROCESSOR_STRIPE Es una configuración de pagos con Stripe.
PROCESSOR_BRAINTREE Es una configuración de pagos con Braintree.

TokenizationConfig

Es una configuración para la asignación de token del procesador de pagos, que se define individualmente para cada comercio.

Representación JSON
{
  "tokenizationParameter": {
    string: string,
    ...
  },
  "billingInformationFormat": enum (BillingInformationFormat)
}
Campos
tokenizationParameter

map (key: string, value: string)

Una configuración de asignación de token suele tener un campo tokenizationParameter cuya clave es "gateway" y cuyo valor es el nombre del procesador.

El resto de los parámetros dependen del procesador. Consulta la documentación de Google Pay para obtener más información.

Ejemplo de Braintree: tokenizationParameter { key: "gateway" value: "braintree" } tokenizationParameter { key: "braintree:apiVersion" value: "v1" } tokenizationParameter { key: "braintree:sdkVersion" value: "2.30.0" } tokenizationParameter { key: "braintree:merchantId" value: "abcdef" } tokenizationParameter { key: "braintree:clientKey" value: "production_xxx_yyy" }

Ejemplo de Stripe: tokenizationParameter { key: "gateway" value: "stripe" } tokenizationParameter { key: "stripe:version" value: "2018-02-28" } tokenizationParameter { key: "stripe:publishableKey" value: "pk_1234" }

Ejemplo de Adyen: tokenizationParameter { key: "gateway" value: "adyen" } tokenizationParameter { key: "gatewayMerchantId" value: "yourId" }

Es un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

billingInformationFormat

enum (BillingInformationFormat)

En el token de pago, incluye los datos de facturación del usuario, tal como figura en Google Pay con su FDP (consulta la información anterior). Si dejas el campo vacío, equivale a especificar MIN.

BillingInformationFormat

Indica qué tanta información de la dirección de facturación se debe solicitar al usuario para incluirla en el token. Los valores enumeradores corresponden a los parámetros de la API de Google Pay (consulta https://developers.google.com/pay/api/web/reference/object#BillingAddressParameters).

Enumeradores
BILLING_INFORMATION_FORMAT_UNSPECIFIED No se especifica. La configuración predeterminada es MIN.
MIN Incluye el nombre y los códigos postal y de país (es la configuración predeterminada de Google Pay).
FULL Incluye el nombre, la dirección, la localidad, la región y los códigos postal y de país.

Términos

Es un conjunto de normas y lineamientos que se muestran al usuario para hacer una reserva a través de Reserva con Google.

Representación JSON
{
  "url": string,
  "text": string,
  "localizedText": {
    object (Text)
  }
}
Campos
url

string

De manera opcional, la URL de los Términos y Condiciones.

text

string

Es el texto que se mostrará al usuario. Usa el campo localizedText de abajo para nuevas integraciones.

localizedText

object (Text)

El texto localizado que se mostrará al usuario.

MerchantMatchingHints

Son las sugerencias que se utilizan para que Google pueda correlacionar un comercio con un lugar en Google Maps.

Representación JSON
{
  "placeId": string
}
Campos
placeId

string

Es el ID de un lugar en la base de datos de Google Places y en Google Maps. Consulta https://developers.google.com/places/web-service/place-id para obtener más información sobre los IDs de lugar.

ServiceAttribute

Los atributos de servicio son categorías definidas por el socio que describen los servicios de un comercio. Por ejemplo, un banco podría definir un atributo de servicio "Tipo de cuenta" con valores como "Personal" y "Empresarial", mientras que un salón de belleza podría establecer un atributo de servicio "Tipo de servicio" con valores como "Corte", "Tintura" y "Peinado".

Representación JSON
{
  "attributeId": string,
  "attributeName": string,
  "value": [
    {
      object (Value)
    }
  ]
}
Campos
attributeId

string

Es un identificador que identifica de forma exclusiva este atributo de servicio entre otros del mismo comercio, p.ej., "account-type".

attributeName

string

Es un nombre visible para el usuario de este atributo, p.ej., "Tipo de cuenta".

value[]

object (Value)

Todos los valores posibles para este atributo de servicio.

Valor

Representa un valor posible para un atributo de servicio en particular.

Representación JSON
{
  "valueId": string,
  "valueName": string
}
Campos
valueId

string

Es un identificador que distingue de forma exclusiva este valor entre otros de este atributo de servicio, p.ej., "personal".

valueName

string

Un nombre visible para el usuario del valor, p.ej., "Personal".

Asesoramiento

Son consejos que se muestran al usuario cuando hace una reserva a través de Reserva con Google.

Representación JSON
{
  "text": {
    object (Text)
  }
}
Campos
text

object (Text)

Es un mensaje personalizado que se mostrará al usuario cuando reserve a través de Reserva con Google.

Métodos

create

Crea un comercio (Merchant) nuevo administrado por el agregador especificado y lo muestra.

delete

Borra un comercio (Merchant) existente administrado por el agregador especificado.

getStatus

Obtén el MerchantStatus de una Merchant.

patch

Actualiza un comercio (Merchant) existente administrado por el agregador especificado y lo muestra.