API de Unidades
Começando
Conforme descrito na seção Compartilhamento de Dados , o DCP é totalmente voltado para dados, e os dados enviados ao seu DMS pela BRP são tão vitais quanto os dados do concessionário enviados à BRP. Uma parte essencial desses dados é o catálogo de unidades da BRP.
A API de Unidades permite que os concessionários obtenham o catálogo mais recente de unidades BRP em seu DMS. Como o catálogo de unidades é usado em muitas atividades da concessionária, ter o catálogo mais novo no seu DMS é benéfico de várias maneiras, por exemplo:
- A capacidade de consultar números de modelos de unidades consistentes em discussões com a BRP.
- Pedidos de unidades mais precisos.
- Maior conhecimento das últimas mudanças nas unidades.
Em resumo, a API de Unidades é um componente central da sua integração com a BRP.
A API de Unidades fornece três tipos de solicitações:
- Obter o catálogo completo de unidades.
- Obter o catálogo de unidades para uma linha de produtos e/ou uma região específica.
- Obter as alterações no catálogo de unidades feitas após uma data especificada.
- Obter informações sobre um modelo específico.
Por onde começar? Leia isto primeiro!
Antes de começar a trabalhar nesta API, você precisa ler as seguintes seções se ainda não as consultou:
- Informações Técnicas para informações técnicas gerais sobre a API e ambientes.
- Autenticação e Credenciais para detalhes sobre autenticação e credenciais.
- Processo de Certificação para detalhes sobre o processo de certificação e Jira.
- Obtendo Suporte para detalhes sobre como obter ajuda e Jira.
Quando Chamar a API
Para as operações do concessionário, usar um catálogo de unidades atualizado é essencial.
Você deve chamar a Units API pelo menos mensalmente para obter as últimas mudanças!
Conforme descrito na seção Requisitos Funcionais, você deve chamar a Units API mensalmente para obter as mudanças dos últimos 30 dias.
No entanto, este é o requisito mínimo. Como mostrado na seção Obter Alterações da Última Semana você pode chamar a Units API diariamente para obter as mudanças da última semana.
Dessa forma, você pode garantir que o concessionário tenha um catálogo de peças atualizado mesmo que a atualização não funcione em um dia.
Os dados da Units API são atualizados diariamente e finalizam às 4:00 no horário do Leste (ET), então o melhor horário para chamar a Units API para atualizar seu DMS é após as 4:00 ET.
Como Chamar a API
A seção Referência da API indica que a API de Unidades oferece dois serviços: um para obter o catálogo completo de unidades ou as alterações mais recentes, e outro para obter uma unidade específica.
Quando o revendedor pesquisa um número de modelo específico, o serviço para obter uma unidade específica é chamado conforme necessário. Em outras palavras, o serviço é chamado manualmente.
Conforme descrito na seção Requisitos Funcionais o serviço para recuperar o catálogo completo de unidades ou as últimas alterações deve ser automatizado.
O revendedor não precisa intervir para atualizar o catálogo de unidades diariamente.
Informações Técnicas
Características
Tipo de API | Tipo de DSP | Versão DCP | Complexidade |
|---|---|---|---|
Obter dados do BRP | DMS | V3 - Internacional | Baixa |
Enviar dados para o BRP | CRM | V4 - América do Norte | Um pouco mais |
Transação com o BRP | | | Um pouco mais |
Autenticação
A API está usando Autenticação de Aplicação.
Você precisa de um token de acesso válido antes de chamar esta API ou você precisa chamá-los API de Autenticação de Aplicativos para obter um.
O token de acesso é válido por 30 minutos! (1799 segundos)
URL Base
Teste | https://qa-cloud-api.brp.com/dcp/v4 |
|---|---|
Produção | https://cloud-api.brp.com/dcp/v4 |
Recurso: Unidade
Quando chamado para solicitar o catálogo completo de unidades ou as últimas alterações, a API de Unidades retorna um array de Unidade recursos. Cada recurso de Unidade mostrado abaixo, contém todas as informações sobre uma unidade.
Quando chamada para obter uma unidade específica, a API de Unidades retorna um único Unidade recurso.
Representação JSON
{
"model_no": "00010PA00",
"model_name": "PWC RXT X 300 AUD YL IBR IDF 23",
"product_line": "PWC",
"brand": "seadoo",
"segment": "Performance",
"sales_status_code": "U8",
"last_change_date": "2024-11-27T20:19:03Z",
"product_last_change_date": "2024-11-27T20:19:03Z",
"model_year": "2023",
"characteristics": {
"color": "Millenium Yellow",
"color_icon": "https://brp.com/content/dam/global/en/sea-doo/my23/unit-color-swatches/Millenium-Yellow.png",
"engine": "1630 ACE™- 300",
"engine_power_cc": "1630 cc",
"cylinders": "3",
"engine_power_hp": "300 hp",
"engine_code": "300",
"seats": "3",
"warranty_extended": "BRP limited warranty covers the watercraft for one year.",
"fuel_capacity": "18.5 US gal / 70 L",
"length": "135.9\" / 345.1 cm",
"width": "49.4\" / 125.5 cm",
"height": "45.2\"/ 114.7 cm",
"weight": "829 lb / 376 kg",
"package_label": "RXT-X 300",
"model_description": "RXT-X 300 Tech Package, iDF, iBR, 10PA, Millenium Yellow, 2023"
},
"image_information": [
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my23/studio/performance/side/SEA-MY23-RXT-X-SS-300-Eclipse-Black-00010PC00-Studio-RSide-NA.png",
"image_type": "defaultModelImage"
},
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my23/studio/performance/side/SEA-MY23-RXT-X-SS-300-Eclipse-Black-00010PC00-Studio-RSide-NA.png",
"image_type": "defaultPackageImage"
},
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my23/studio/performance/SEA-MY23-RXT-X-SS-300-Millenium-Yellow-00010PA00-Studio-34FR-NA.png",
"image_type": "packageImage"
}
],
"pricings": [
{
"price_type": "freight",
"currency": "USD",
"region": "US",
"price_valid_from": "2022-11-11T00:00:00Z",
"price_valid_to": "9999-12-31T00:00:00Z",
"price": 550,
"price_last_change_date": "2023-06-15T13:50:20.000Z"
},
{
"price_type": "surcharge",
"currency": "USD",
"region": "US",
"price_valid_from": "2022-11-11T00:00:00Z",
"price_valid_to": "9999-12-31T00:00:00Z",
"price": 615,
"price_last_change_date": "2023-06-15T19:04:07.000Z"
},
{
"price_type": "retail",
"currency": "USD",
"region": "US",
"price_valid_from": "2022-08-07T00:00:00Z",
"price_valid_to": "9999-12-31T00:00:00Z",
"price": 18499,
"price_last_change_date": "2024-11-27T20:19:03Z"
},
{
"price_type": "dealer",
"currency": "USD",
"region": "US",
"price_valid_from": "2022-08-07T00:00:00Z",
"price_valid_to": "9999-12-31T00:00:00Z",
"price": 16279,
"price_last_change_date": "2024-11-27T20:19:03Z"
}
],
"documents": {
"model_description": [
"The RXT-X pairs a high octane attitude with exceptional confidence and convenience, making it the ultimate offshore performance watercraft."
],
"spec_sheet": [
"https://brp.com/content/dam/global/en/sea-doo/my23/documents/specs-sheets/en/SEA-MY23-PERF-RXT-X-SPEC-DPS-ENNA_LR.pdf"
],
"package_description": [
"The ultimate in offshore performance watercraft. The RXT-X brings 300 HP of adrenaline-filled fun to every adventure. The revolutionary hull design and Ergolock seating system offer maximum control and confidence in any conditions."
],
"highlights": [
"Tech Package: BRP Audio Premium system & full color display",
"The most powerful engine in the Sea-Doo lineup",
"Industry leading stability and control",
"Up to 3 passengers"
],
"comparison_sheet": ""
}
}Propriedades
Property | Type | Definition | Notes |
|---|---|---|---|
model_no | string | Code that uniquely identifies a unit model. | Length:9 |
model_name | string | Model name/description. | Max Length:50 |
product_line | string | Code that uniquely identifies the product line. Refer to the Product Lines table below. | Length: 3 |
brand | string | The brand of the model. One of:
| |
segment | string | The segment of a specific unit. Example:
| Max Length:15
|
sales_status_code | string | string Code that identifies the sellable status of the unit. Refer to the Sales Status Code table below. | |
last_change_date | string | Last date and time when this resource has changed | Format: YYYY-MM-DDTHH:MM:SSZ |
product_last_change_date | string | The last date the product was updated. | Format: YYYY-MM-DDTHH:MM:SSZ |
model_year | string | Model year of the unit. |
|
characteristics | Object | The unit characteristics | |
characteristics.color | string | Color description of the unit. | |
characteristics.color_icon | string | A URL displaying an icon showing the shade of color for the unit. | |
characteristics.engine | string | Engine characteristics. | |
characteristics. engine_power_cc | string | The volume displaced by each piston moves from the bottom dead center to the top dead center. This is for all pistons in total. This value is expressed in cubic centimeters. | Max Length: 25 |
characteristics.cylinders | string | Number of cylinders in the engine. | Max Length: 3 |
characteristics. engine_power_hp | string | Engine power in horsepower. | Max Length: 25 |
characteristics.engine_code | string | The code for the model engine. | Max Length: 25 |
characteristics.seats | string | The number of seats in the unit. | Max Length: 3 |
characteristics. warranty_extended | string | The extended warranty coverage for the unit. | Max Length: 50 |
characteristics.fuel_capacity | string | The fuel capacity for the unit is represented in Liters and Gallons. | Max Length: 25 |
characteristics.length | string | The length of the unit is in centimeters and inches. | Max Length: 25 |
characteristics.width | string | The width of the unit is in centimeters and inches. | Max Length: 25 |
characteristics.height | string | The height of the unit is in centimeters and inches. | Max Length: 25 |
characteristics.weight | string | The weight of the unit is in kilograms and pounds. | Max Length: 25 |
characteristics.package_label | string | The package label. | |
characteristics.model_description | string | The complete model description, including the SKU, color, and model year. | |
image_information | List of objects | Image information for the unit. |
|
image_information.image_url | string | Link to the image of the unit. |
|
image_information. image_type | string | The type of image:
|
|
pricings | List of objects | List of the different prices |
|
pricings.region | string | The region where the price is valid. See the table Regions and Currencies below. | Max Length: 5 |
pricings.price_type | string | Code that identifies a type of price. One of:
| * For a Switch product, the dealer and retail prices include the trailer's dealer and retail prices. |
pricings.price_valid_from | string | The date at which the price becomes active. | Format: YYYY-MM-DDTHH:MM:SSZ |
pricings.price_valid_to | string | The date up to which the price remains active. | Format: YYYY-MM-DDTHH:MM:SSZ |
pricings.price | number | Price, excluding taxes, for one unit. | |
pricings.currency | string | Currency in which the price is provided. See the table Regions and Currencies below. | |
price_last_change_date | string | Last date and time at which this resource has changed. | Format: YYYY-MM-DDTHH:MM:SSZ |
documents | List of objects | Unit description and links to related documents. | |
documents. model_description | string | The description of a model in a short sentence. | |
documents.spec_sheet | string | Link to the full specification sheet in PDF format. | |
documents. package_description | string | The description of the unit on the package. | |
documents.highlights | string | Description of the major highlights included in the unit. | |
documents. comparison_sheet | string | The link to the comparison sheet highlights the differences between the BRP and the major competitor units. | |
trailer | object | ❗ Only for the Switch products. Description of the trailer sold with the Switch. | |
product_code | string | | |
product_descr | string | | |
pricings | List of objects | List of the different prices | |
pricings.region | string | The region where the price is valid. See the table Regions and Currencies below. | Max Length: 5 |
pricings.price_type | string | Code that identifies a type of price. One of:
| |
pricings.price_valid_from | string | The date at which the price becomes active. | Format: YYYY-MM-DDTHH:MM:SSZ |
pricings.price_valid_to | string | The date up to which the price remains active. | Format: YYYY-MM-DDTHH:MM:SSZ |
pricings.price | number | Price, excluding taxes, for one trailer. | |
pricings.currency | string | Currency in which the price is provided. See the table Regions and Currencies below. | |
price_last_change_date | string | Last date and time at which this resource has changed. | Format: YYYY-MM-DDTHH:MM:SSZ |
Código de Status de Vendas
Chave | Valor | Descrição |
|---|---|---|
U1 | Formulário | A unidade é vendável e pode ser solicitada através do Formulário de Pedido no OMS. |
U2 | Adicionar/Alterar | A unidade é vendável e pode ser solicitada através do Formulário de Pedido, um pedido adicional ou um pedido de alteração no OMS. |
U3 | Completo | A unidade é vendável e pode ser solicitada através de um pedido adicional ou de alteração no OMS. |
U4 | Formulário/Adicionar | A unidade é vendável e pode ser solicitada através do Formulário de Pedido e de um pedido adicional no OMS. |
U5 | Formulário/Alterar | A unidade é vendável e pode ser solicitada através do Formulário de Pedido e de um pedido de alteração no OMS. |
U6 | Adicionar | A unidade é vendável e pode ser solicitada através de um pedido adicional no OMS |
U7 | Pedido de Alteração | A unidade é vendável e pode ser solicitada através de um pedido de alteração no OMS. |
U8 | Exibir | A unidade não pode ser solicitada pela BRP, mas é exibida no OMS. |
UI | Inativo | A unidade não pode ser solicitada pela BRP e não é exibida no OMS. |
Recurso: Lista de Unidades
Quando chamada para solicitar o catálogo completo de unidades ou as últimas alterações, a API de Unidades retorna uma matriz de Unidade recursos.
As respostas de retorno contêm dois objetos que ajudam você a navegar pelas páginas do catálogo de unidades.
Representação JSON
{
"items": [
{
List of Units resources
}
],
"links": {
"previous": null,
"next": "https://cloud-api.brp.com/dcp/v4/units?language=en-US&page=2&limit=200"
},
"meta": {
"total_records": 9999,
"total_pages": 87,
"current_page": 2,
"limit": 200
}
}Propriedades
Propriedade | Tipo | Definição |
|---|---|---|
items | Lista de objetos | Lista de recursos de Unidade que são retornados. |
links | objeto | Links de paginação. |
links.previous | string | URL a ser usada para recuperar a página anterior. NULL se não houver página anterior. |
links.next | string | URL a ser usada para recuperar a próxima página. NULL se não houver próxima página. |
meta | objeto | Estatísticas da requisição. |
meta.total_records | número | O número de registros retornados pela requisição. |
meta.total_pages | número | O número de páginas calculado usando o limite. |
meta.current_page | número | O número da página atual ou o número da página solicitada. |
meta.limit | número | Limite dos parâmetros da requisição. |
Links
O Links objeto pode ser usado para navegar pelas páginas retornadas pela API de Unidades.
Quando um link não é NULL, ele pode ser usado para acessar a página anterior ou seguinte. Isso simplifica a navegação entre páginas porque você não precisa salvar os parâmetros da sua consulta; a URL do link contém os parâmetros de consulta que você forneceu e os parâmetros padrão para aqueles que você não forneceu.
Metadados
O objeto Meta fornece estatísticas sobre o número de recursos Unit retornados pela sua requisição e o número de páginas esperadas.
Essas informações podem ser úteis para diagnóstico e para verificar se todos os recursos Unit foram recebidos.
Limitações e Restrições
Formato Numérico
Todos os campos numéricos com decimais usam o ponto(.) como separador decimal. A vírgula (,) NÃO é suportada como separador decimal.
Anos de Modelo Disponíveis
O catálogo de unidades contém informações sobre o ano de modelo 2023 em diante. Você não encontrará informações sobre um modelo de 2017.
Além disso, o catálogo de unidades inclui apenas os últimos 10 anos de modelo.
👉 Um ano de modelo BRP é um ano no futuro (como o ano de modelo para os fabricantes de automóveis). Isso significa que o ano de modelo 2026 estará disponível em 2025.
Quando seu DMS chamar a Units API em 2034, quando o ano de modelo for 2036, ele receberá informações sobre os anos de modelo de 2025 a 2035.
Compreendendo Unidades
Código de Status de Vendas
Como o concessionário não pode pedir unidades por meio de uma API DCP, os códigos de status de vendas das unidades, listados na tabela Código de Status de Vendas acima, são fornecidos apenas para informação.
No entanto, as unidades com o código de status de vendas UI não são vendáveis e não são exibidas no OMS, portanto é melhor não exibir essas unidades no seu DMS.
Imagens de Produtos
Geralmente, você verá links para 3 imagens para cada unidade retornada na resposta, como mostrado abaixo.
"image_information": [
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my25/studio/recreation/gti-se/SEA-MY25-GTI-SE-NoSS-M170-Purple-Potion-00030SG00-Studio-RSIDE-CU.png",
"image_type": "defaultModelImage"
},
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my25/studio/recreation/gti-se/SEA-MY25-GTI-SE-NoSS-M170-Purple-Potion-00030SG00-Studio-RSIDE-CU.png",
"image_type": "defaultPackageImage"
},
{
"image_url": "https://brp.com/content/dam/global/en/sea-doo/my25/studio/recreation/gti-se/SEA-MY25-GTI-SE-Integrated100W-M170-Teal-Blue-Metallic-00030SD00-Studio-34FR-CU.png",
"image_type": "packageImage"
}
],A imagem do pacote ("image_type": "packageImage") é a mais próxima da aparência real da unidade e deve ser exibida primeiro.
Se a imagem do pacote não estiver disponível, a defaultPackageImage deve ser exibida. E, como você pode imaginar, se a defaultPackageImage não estiver disponível, a defaultModelImage deve ser exibida.
Vamos analisar um exemplo usando um produto Sea-Doo, o GTI SE 170. Este modelo possui 3 códigos de produto.
Código do Produto | Descrição | Cor |
|---|---|---|
00030SG00 | GTI SE 170 | Roxo Meia-Noite |
00030SA00 | GTI SE 170 | Azul Teal / Verde Manta |
00030SD00 | GTI SE 170 (Sistema de Som) | Azul Teal / Verde Manta |
Os primeiros 2 códigos de produto são o mesmo modelo em cores diferentes. O terceiro produto inclui um sistema de som adicional.
Se você obtiver a defaultPackageImage ou a defaultModelImage para o código de produto 00030SD00 usando o link https://brp.com/content/dam/global/en/sea-doo/my25/studio/recreation/gti-se/SEA-MY25-GTI-SE-NoSS-M170-Purple-Potion-00030SG00-Studio-RSIDE-CU.png, você obtém isto.

Se você obtiver a packageImage para o mesmo código de produto usando o link https://www.brp.com/content/dam/global/en/sea-doo/my25/studio/recreation/gti-se/SEA-MY25-GTI-SE-Integrated100W-M170-Teal-Blue-Metallic-00030SD00-Studio-34FR-CU.png, você obtém isto.

O packageImage é muito mais interessante, pois mostra a unidade na cor correta e com os alto-falantes adicionados.
Você pode ver a diferença ao olhar o packageImage para o código de produto 00030SA00, que é da mesma cor, mas não possui os alto-falantes.

Por que a Região US-AK?
A região US-AK é a mesma que a região US , com uma exceção: o valor do preço de frete.
👉 É importante exibir o preço correto de frete para concessionários localizados no Alasca.
Os Produtos Switch e Seus Reboques
Os pontões Switch fazem parte da linha de produtos Sea-Doo. Eles têm a particularidade de sempre serem vendidos com um reboque.
Por exemplo, o Switch Cruise Limited 21 - 230 hp no site da BRP inclui um reboque.

Para os produtos Switch, a resposta da API Units inclui informações sobre o trailer, incluindo os preços do trailer.
👉 Para os produtos Switch, quando um trailer está disponível, os preços de revenda e do concessionário do trailer são adicionados aos preços de revenda e do concessionário do Switch.
Referência da API
curl --location 'https://cloud-api.brp.com/dcp/v4/units?last_change_date=2024-06-01&product_line=SNO®ion=US&limit=3' \
--header 'Authorization: Bearer REPLACE_ME' curl --location 'https://cloud-api.brp.com/dcp/v4/unit/0001BRA00?region=US' \
--header 'Authorization: Bearer REPLACE_ME' Tabelas de Referência
Idiomas
Idioma no código de idioma ISO (ISO-639-1 + ISO 3166-1)
Formato: xx-XX
xx: código de idioma em minúsculas
XX: código de país em maiúsculas
Valores de código de idioma suportados
Código | Idioma |
|---|---|
de | Alemão |
en | Inglês |
es | Espanhol |
fi | Finlandês |
fr | Francês |
it | Italiano |
nl | Holandês |
no | Norueguês |
pt | Português (Brasil) |
sv | Sueco |
Linhas de Produtos
Chave | Valor |
|---|---|
2WV | Veículos de duas rodas |
3WV | Veículos de três rodas |
ATV | Veículos todo-terreno |
PTN | Barcos tipo pontão |
PWC | Embarcações pessoais |
SNO | Snowmobiles |
SSV | Veículos side-by-side |
Regiões e Moedas
Código | País | Região | Moeda | Descrição |
|---|---|---|---|---|
CA | Canadá | | CAD | Todo o Canadá, incluindo todas as províncias. |
US | Estados Unidos | | USD | Todos os Estados Unidos. |
US-AK | Estados Unidos | Alasca | USD | Somente o estado do Alasca nos EUA. |
Como Fazer
Esta seção fornece informações sobre como obter resultados específicos com a Units API.
Obter Primeira Página
Obtenha a primeira página do catálogo completo de unidades. Neste cenário, a solicitação é feita para os revendedores dos EUA.
A carga de resposta contém a lista de recursos Unit, olinksobjeto, e o metaobjeto. A links.previouspropriedade é NULL pois esta é a primeira página. A links.nextpropriedade contém a URL para a próxima página.
curl --location 'https://cloud-api.brp.com/dcp/v4/units?region=US&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' Obter Próxima Página
Obtenha a próxima página do catálogo completo usando o links.next URL encontrado no payload da resposta.
O payload da resposta contém a lista de recursos Unit, o objeto links, e o objeto meta. A propriedade links.previous contém a URL para a primeira página. A propriedade links.next contém a URL para a próxima página.
curl --location 'https://cloud-api.brp.com/dcp/v4/units?region=US&language=ca-EN&page=2&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' Obter Última Página
Obtenha a próxima página do catálogo completo usando a links.next URL encontrada no payload da resposta.
O payload da resposta contém a lista de recursos Unit, o objeto links, e o objeto meta. A propriedade links.previous contém a URL da página anterior. A propriedade links.next é NULL pois esta é a última página.
curl --location 'https://cloud-api.brp.com/dcp/v4/units?region=US&language=en-US&limit=2&page=1214' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' Obter as alterações da semana passada
Obter a primeira página das alterações feitas no catálogo de unidades para a região do Canadá.
curl --location 'https://cloud-api.brp.com/dcp/v4/units?region=CA&last_change_date=2024-12-01&page=1&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter Produtos para um Ano de Modelo
Obter uma linha de produtos específica e ano de modelo para a região dos EUA.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/units?region=US&product_line=PWC&language=us-EN&model_year=2024&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter Produtos para uma Marca
Obter uma marca e ano do modelo específicos para o Canadá.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/units?region=CA&language=us-EN&brand=seadoo&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter produtos para uma marca e ano do modelo
Obtenha uma marca e ano do modelo específicos para o Canadá.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/units?region=CA&language=us-EN&brand=seadoo&model_year=2025&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter Produtos de uma Marca e Linha de Produtos
Obter uma marca e linha de produtos específica para o Canadá.
❗ Se a marca solicitada não contiver a linha de produtos solicitada, nada será retornado ❗
Se você pedir a marca seadoo e a linha de produtos SNO, nada será retornado.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/units?region=CA&language=us-EN&brand=canam-offroad&product_line=ATV&limit=2' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter Uma Unidade
Obtenha uma unidade específica para a região do Alasca nos EUA.
A resposta mostra o frete para a região US-AK. Isso ocorre porque os custos de frete no Alasca são diferentes dos de outras regiões dos EUA.
curl --location 'https://cloud-api.brp.com/dcp/v4/unit/000B2PA00?region=US-AK' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' Obter uma Unidade a Partir de um VIN
Provavelmente percebemos que a API de Unidades funciona com números de modelo (códigos de produto). O concessionário geralmente não tem um número de modelo, mas sim um número de série (VIN).
Como obter informações da unidade a partir do VIN?
Chame a API de Especificações de Unidades para obter o número do modelo correspondente ao VIN.
A partir da resposta da API de Especificações da Unidade, extraia o model_number e use-o para chamar a API de Unidades.
Obtenha as Especificações da Unidade
curl --location 'https://cloud-api.brp.com/dcp/v4/unit/3JB3GA449RJ000623/specifications?language=en-US' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter a Unidade
curl --location 'https://cloud-api.brp.com/dcp/v4/unit/0001BRA00?region=US' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'Obter uma Unidade Switch
Obtenha uma unidade específica do Switch para a região dos EUA.
curl --location 'https://cloud-api.brp.com/dcp/v4/unit/00041PJ00?region=US' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' Tratamento de Erros
Esta seção apresenta vários cenários de chamadas incorretas ou inadequadas, que resultam em mensagens de erro e resultados incorretos.
400 Requisição Inválida
O código de status 400 é geralmente visto durante o desenvolvimento e integração e não deve ser recebido durante operações normais. A resposta retornada contém as informações necessárias para corrigir o problema.
Muitos problemas podem causar um código de status 400; os mais comuns estão na tabela abaixo.
Resposta | Resolução |
|---|---|
Retornado se a região for inválida. {
"status": "400",
"id": "rrt-0f82577f1ea003b72-c-ea-3940242-6823134-1",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "falha na validação da requisição",
"payload": {
"details": [
{
"message": "Valor da instância (\"eg\") não encontrado no enum (valores possíveis: [\"CA\",\"US\",\"US-AK\"]): []"
}
]
}
}
} | Certifique-se de chamar a API com uma região válida. |
Formato de data da última alteração inválido. {
"status": "400",
"id": "rrt-007c4ae418b4c128f-b-ea-3013143-8196485-1",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "falha na validação da requisição",
"payload": {
"details": [
{
"message": "A string \"2024-09-31\" é inválida para o formato de data solicitado yyyy-MM-dd: []"
}
]
}
}
} | Altere o formato da data para usar YYYY-MM-DD. |
Retornado se o formato de idioma não for válido. {
"status": "400",
"id": "rrt-007c4ae418b4c128f-b-ea-3013144-8202243-1",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "falha na validação da requisição",
"payload": {
"details": [
{
"message": "Regex ECMA 262 \"^[a-z]{2}-[A-Z]{2}$\" não corresponde à string de entrada \"eg-CAI\": []"
}
]
}
}
} | O formato válido de idioma é o seguinte Formato: xx-XX xx: código de idioma em minúsculas XX: código do país em maiúsculas Um formato de idioma válido deve ser inserido para produzir uma resposta adequada. |
Parâmetro de região ausente. {
"status": "400",
"id": "rrt-04975a7274072003d-d-ea-3824655-7029451-1",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "falha na validação da requisição",
"payload": {
"details": [
{
"message": "O parâmetro de consulta 'region' é obrigatório no caminho '/units', mas não foi encontrado na requisição.: []"
}
]
}
}
} | O parâmetro region é obrigatório. |
401 Não autorizado
O código de status de erro 401 Unauthorized é retornado quando você tenta chamar a API com um access_token expirado.
Você precisa obter um novo access_token com uma chamada para a API de Autenticação de Aplicativos.
O código de status de erro 401 Unauthorized também é retornado se você não solicitou acesso à API criando um ticket no DCP Jira.
Quando você estiver pronto para começar a trabalhar em uma API, deverá criar um ticket de certificação no Jira, conforme descrito na seção Atividades de Certificação com o Jira.
Se você já começou a trabalhar em uma API e perdeu o acesso, crie um ticket de suporte conforme descrito na seção Abrir um Ticket de Suporte.
404 Não Encontrado
O código de status 404 Not Found é retornado quando o número do modelo (código do produto) não é encontrado.
{
"status": "404",
"id": "rrt-0aa500db076dc9eed-d-ea-1328974-8146403-1.1",
"title": "not_found",
"meta": {
"service": "004",
"detail": "The product code provided was not found."
}
}O revendedor pode ter cometido um erro ao inserir o número da peça. Você deve informar o erro ao usuário para que ele possa tentar novamente.
Requisitos de DSP
Requisitos Funcionais
ID | Tipo | Requisito |
|---|---|---|
1 | Obrigatório | A API de Unidades deve ser automaticamente chamada mensalmente para obter as alterações do catálogo dos últimos 30 dias. ❗ Nenhuma ação manual do concessionário deve ser necessária para atualizar o catálogo em seu DMS ❗ |
2 | Obrigatório | O catálogo completo de unidades deve ser disponibilizado ao concessionário. A API de Unidades deve ser chamada pelo menos uma vez para recuperar o catálogo completo de unidades. |
3 | Obrigatório | O concessionário deve ser capaz de pesquisar um número de produto específico em seu DMS, e o resultado deve ser exibido na tela. |
4 | Obrigatório | O concessionário deve ser capaz de exibir a imagem da unidade, cor, características, especificações técnicas, destaques e todos os documentos disponíveis. |
5 | Opcional | O concessionário pode obter o catálogo de unidades para um ano de modelo específico. |
6 | Opcional | O concessionário pode obter o catálogo de unidades para uma linha de produto específica. |
7 | Opcional | O concessionário pode pesquisar e navegar no catálogo de unidades, filtrar o catálogo por linha de produto e pesquisar texto na descrição. |
Atividades de Certificação
Esta seção apresenta todas as atividades de certificação e validações que devem ser concluídas para certificar a API.
Validações
Os testes listados na tabela abaixo devem ser realizados com sucesso no ambiente de testes antes que você possa iniciar a fase piloto com o concessionário.
👉 Para a fase de testes, seu DMS deve chamar a API de Unidades diariamente.
Quando o piloto com o concessionário for concluído, a configuração do seu DMS pode ser alterada para chamar a API de Unidades mensalmente, se preferir.
ID | Teste | Resultado Esperado |
|---|---|---|
1 | O catálogo completo de unidades é carregado e o DMS exibe as unidades. | O catálogo completo de unidades é carregado no DMS. |
2 | As informações da unidade estão visíveis | O DMS exibe a imagem da unidade, cor, características, especificações técnicas, destaques e todos os documentos disponíveis. |
3 | Pesquisar por um número de produto específico:
| Um número de produto específico pode ser pesquisado no DMS e o resultado é exibido. |
4 | Recuperar as unidades da linha de produtos PWC e ano do modelo 2025 | Carregar ou atualizar o catálogo de unidades para uma linha de produtos específica (PWC) e ano do modelo (2025). |
Piloto do Revendedor
A tabela abaixo descreve os parâmetros e validações do piloto para concessionárias.
👉 Para a fase piloto da concessionária, seu DMS deve chamar a API de Unidades diariamente.
Quando o piloto da concessionária for concluído, a configuração do seu DMS pode ser alterada para chamar a API de Unidades mensalmente, se preferir.
Parâmetro | Valor |
|---|---|
Ambiente | Produção |
Número de concessionários | 1 a 3 |
Duração | 1 semana |
Validação 1 | O catálogo de unidades é atualizado diariamente. |
Validação 2 | O catálogo de unidades é acessível ao concessionário. |
Validação 3 | Um número de produto específico pode ser pesquisado a partir do DMS, e o resultado é exibido. |
Postman
Esta seção descreve o que está disponível no Postman para explorar a API.
Ambientes
Um ambiente Postman está disponível para testar a API de Unidades. Este ambiente Postman contém variáveis usadas pelas consultas e está configurado para conectar ao ambiente de teste.
Coleções
A coleção DMS - Unidades contém exemplos de chamadas de API para obter o catálogo de unidades ou uma unidade específica.