Importação de Anúncios (Inserção/Edição/Deleção)
Importação de Anúncios (Inserção/Edição/Deleção)
Autenticação oAuth no OLX
Para utilizar a integração de anúncios via API, é necessário autenticar-se em nome de um usuário do OLX através do protocolo oAuth. A documentação da autenticação oAuth encontra-se aqui.
Na autenticação, o sistema solicitante receberá o client_id
e o client_secret
que deverão ser usados na URL de conexão. Durante o fluxo oAuth será requisitado que o usuário dê permissão ao integrador para gerenciar seus anúncios na OLX. No handshake do oAuth, é requisitado também o scope
que a aplicação-cliente necessitará. Para utilizar o sistema de integração de anúncios via API, é preciso o scope
autoupload
.
Importação de Anúncios
O processo de integração de anúncios via API consiste no envio de um arquivo no formato JSON descrevendo um ou mais anúncios para inserção, edição ou deleção.
A URL usada para envio da requisição é: https://apps.olx.com.br/autoupload/import
O nosso servidor deve receber a chamada com método do tipo PUT
e o header enviado deverá ser: Content-type: application/json
. O formato do encode do JSON deverá ser UTF-8
e o tamanho do payload não pode ultrapassar 1 MB.
Inserção ou Edição de Anúncios
Para uma inserção ou edição de anúncios, é necessário montar o JSON com parâmetros básicos para qualquer categorias, além de específicos de cada categoria e/ou subcategoria.
Parâmetros básicos
Parâmetro | Valores | Tipo | Obrigatório | Descrição |
---|---|---|---|---|
access_token | string | sim | Token de acesso | |
id | Regular expression: [A-Za-z0-9_{}-]{1,19} | sim | O identificador do anúncio. Deve ser único no JSON (caso haja mais de um anúncio no JSON). | |
operation | insert ou delete | string | sim | Valores para identificar qual será a operação a ser feita:insert para inserir ou editar anúnciosdelete para despublicar anúncios. |
category | integer | sim | Categoria do anúncio. | |
Subject | string | sim | Título do anúncio. Mínimo de 2 e máximo de 90 caracteres. | |
Body | string | sim | Descrição do anúncio. Mínimo de 2 e máximo de 6 mil caracteres | |
Phone | integer | sim | Telefone para contato. Mínimo de 10 e máximo de 11 caracteres. Enviar DDD + Telefone sem caracteres especiais ou espaços. | |
type | s ou u | string | sim | Tipo de oferta do anúncio. s para venda e u para aluguel. |
price | integer | não | Preço do anúncio (não aceita centavos) | |
zipcode | string numérica | sim | O CEP do anúncio. | |
phone_hidden | true ou false | boolean | não1 | Ocultar telefone? true para ocultar e false para mostrar o telefone no anúncio. Caso não envie o comando, o mesmo será interpretado como false e o telefone será exibido. |
params | array | não1 | Lista de parâmetros com as características do anúncio. Os valores dessa lista variam de acordo com a categoria do anúncio. | |
images | URL da imagem | array de string | não1 | URL de imagens que serão inseridas no anúncio do olx.com.br. Não pode haver URLs repetidas neste array. Máximo de 20 imagens. Importante: a primeira imagem da lista será a imagem principal do anúncio! |
videos 2 | URL do vídeo | array de string | não1 | URL de vídeo3. que será inserida no anúncio do olx.com.br deve ser apenas do https://www.youtube.com/. Aceito 1 vídeo por anúncio! |
Notas
1 Se você não quer enviar um parâmetro não-obrigatório, deixe de enviar o parâmetro no payload. Se você enviar o parâmetro com valor vazio ou
0
, a operação vai falhar (a menos, é claro, que o valor0
seja esperado para esse parâmetro).
2 Se atentar no formato URL, qualquer coisa diferente de uma URL receberá um erro ERROR_VIDEOS_URL_INVALID
3 Formato recomendado de URL: https://www.youtube.com/watch?v=Vt&28raiI1q5
Segue um exemplo de envio de vídeo:
{
"videos": [
"https://www.youtube.com/watch?v=Vt&28raiI1q5"
]
},
Segue um exemplo para remover o vídeo de um anúncio:
{
"videos": []
},
Observações
- Caso seja necessário alterar o vídeo do anúncio, deve-se alterar a URL e realizar uma edição em outro campo, por exemplo: Descrição e título.
- Caso seja enviado mais de um link de vídeo no anúncio será publicado apenas o primeiro da listagem.
- Em caso de dúvidas entre em contato: video.experience@olxbr.com
Parâmetros específicos
Categoria | Subcategoria |
---|---|
Imóveis | Apartamentos |
Imóveis | Casas |
Imóveis | Aluguel de quartos |
Imóveis | Temporada |
Imóveis | Terrenos sítios e fazendas |
Imóveis | Comércio e indústria |
Autos e peças | Carros vans e utilitários |
Autos e peças | Motos |
Autos e peças | Ônibus |
Autos e peças | Caminhões |
Autos e peças | Barcos e aeronaves |
Peças e acessórios | Carros vans e utilitários |
Peças e acessórios | Motos |
Peças e acessórios | Ônibus |
Peças e acessórios | Caminhões |
Peças e acessórios | Barcos e aeronaves |
Agro e indústria | Tratores e máquinas agrícolas |
Agro e indústria | Máquinas pesadas para construção |
Agro e indústria | Máquinas para produção industrial |
Agro e indústria | Peças para tratores e máquinas |
Agro e indústria | Animais para agropecuária |
Agro e indústria | Produção Rural |
Agro e indústria | Outros itens para agro e indústria |
Eletrônicos e celulares | Celulares e telefonia |
Eletrônicos e celulares1 | Videogames1 |
Eletrônicos e celulares1 | Computadores e acessórios1 |
Eletrônicos e celulares1 | Áudio TV vídeo e fotografia1 |
Para a sua casa1 | Móveis1 |
Para a sua casa1 | Eletrodomésticos1 |
Para a sua casa1 | Materiais de construção e jardim1 |
Para a sua casa1 | Utilidades domésticas1 |
Para a sua casa1 | Objetos de decoração1 |
Música e hobbies1 | Instrumentos musicais1 |
Música e hobbies1 | CDs DVDs etc1 |
Música e hobbies1 | Livros e revistas1 |
Música e hobbies1 | Antiguidades1 |
Música e hobbies1 | Hobbies e coleções1 |
Esportes e lazer1 | Esportes e ginástica1 |
Esportes e lazer1 | Ciclismo1 |
Artigos infantis1 | |
Animais de estimação1 | Cachorros e acessórios1 |
Animais de estimação1 | Gatos e acessórios1 |
Animais de estimação1 | Cavalos e acessórios1 |
Animais de estimação1 | Aquários e acessórios1 |
Animais de estimação1 | Roedores e acessórios1 |
Animais de estimação1 | Outros animais e acessórios1 |
Moda e beleza1 | Beleza e saúde1 |
Moda e beleza1 | Roupas e calçados1 |
Moda e beleza1 | Bolsas malas e mochilas1 |
Moda e beleza1 | Bijouterias relógios e acessórios1 |
Comércio e escritório1 | Equipamentos e mobiliário1 |
Comércio e escritório1 | Trailers e carrinhos comerciais1 |
Comércio e escritório1 | Outros itens para comércio e escritório1 |
Serviços1 | |
Vagas de emprego1 |
1 Categoria não suportada atualmente pela API de Importação de Anúncios da OLX
Deleção de Anúncios
Para uma deleção, basta enviar o id
e a operação delete
.
A seguir um JSON de exemplo com uma deleção:
{
"access_token": "ca18abccaadd282490e75173f98b8ec6f0c1c6c8",
"ad_list": [
{
"id": "444444444",
"operation": "delete"
}
]
}
O anúncio permanecerá publicado a menos que uma operação de deleção seja enviada para a OLX com o id
utilizado em sua inserção. Portanto recomendamos atenção redobrada para o integrador enviar a deleção para a OLX, para evitar que anúncios de produtos já vendidos continuem publicados - prejudicando a experiência do anunciante e do comprador.
Retorno Esperado
O formato do retorno de nosso servidor será do tipo JSON, que contém a seguinte estrutura:
Paramêtro | Valor | Descrição |
---|---|---|
token | Retorna uma string com um token a ser usado para posteriormente acessar o status da importação | |
statusMessage | Explica o retorno síncrono da importação, com detalhamento de erros da validação síncrona. | |
statusCode | Identifica o retorno síncrono da importação. | |
errors | array | Retorna uma lista de erros |
Os statusCode
e statusMessage
possíveis são os seguintes:
Código | Mensagem | Descrição |
---|---|---|
0 | The ads were imported and will be processed | No caso, os anúncios foram validados sincronamente. Não é garantia de publicação, dado que há a validação assíncrona posterior (moderação, etc). |
-1 | Unexpected error | Erro inesperado. |
-2 | The request was blocked | Usuário não pode importar pois está bloqueado temporariamente por excesso de requisições. |
-3 | There is no ad to import | Não há anúncios para importar. |
-4 | An ad had problems on import | Se um anúncio falhar em sua validação, a importação é cancelada. |
-5 | Import is down | O serviço de importação está desativado. |
-6 | Without permission | Usuário sem permissão. |
-7 | Trying to import "n" ad(s), but user just have slot for "f" more. | O usuário está tentando importar "n" anúncios mas só podem importar mais "f". |
-8 | Trying to import "n" ad(s), only "f" were imported and will be processed. The following ads were ignored due to limit exceeded: "t" | Tentando importar "n" anúncios, só "f" foram importados e serão processados. Os seguintes anúncios foram ignorados devido ao limite tempo "t" excedido. |
No caso do erro do tipo -4
, alguma validação síncrona aconteceu e, por isso, algum dos anúncios deixou de ser importado com sucesso. Os possíveis motivos são os seguintes:
No caso do erro tipo `-6`, verifique se a conta OLX possui um plano profissional ativo e compatível/habilitado para realização de integração de anúncios.
- A partir de Janeiro/2025 passamos a comercializar novos planos profissionais para anunciantes de veículos. Com isso, agora passamos a oferecer diferentes opções planos para vendedores autônomos e empresas.
- Planos para vendedores autônomos:
Essencial
ePlus
- Planos para empresas:
Essencial Empresa
,Plus Empresa
ePremium Empresa
- Planos para vendedores autônomos:
- Importante: Para as opções de planos para vendedores autônomos, não será permitida a utilização da API de integração de anúncios para qualquer ferramenta de integração. Anunciantes que necessitem realizar integração de anúncios deverão procurar a OLX para contratação (ou alteração) dos planos para Empresas.
- Se precisar entrar em contato conosco, ligue para 0800 022 9800 (segunda à sexta das 09h às 18h) ou nos envie uma mensagem através da nossa Central de Ajuda
- Quer conhecer as opções de planos para Empresa? Confira aqui
Código | Descrição |
---|---|
UNDEFINED_AD_ID | Anúncio enviado sem ID |
NO_IMAGE | Anúncio enviado sem imagens |
NO_REGION | CEP enviado corresponde a região inválida |
NO_REGION | CEP enviado em formato inválido |
ERROR_FUEL_4_DEPRECATED | Tentando enviar o valor 4 - Gás Natural ou outro valor inválido no campo fuel |
ERROR_FINANCIAL_INVALID | Tentando enviar o valor 1 - Financiado ou outro valor inválido no parâmetro financial |
ERROR_CAR_FEATURE_2_INVALID | Tentando enviar o valor 2 - Direção hidráulica no parâmetro car_features |
ERROR_CAR_TYPE_1_OR_4_INVALID | Tentando enviar o valor 1 ou 4 no parâmetro cartype |
ERROR_VEHICLE_TAG_INVALID | Placa não enviada ou em formato inválido |
ERROR_VEHICLE_BRAND_INVALID | Marca não enviada ou em formato inválido |
ERROR_VEHICLE_MODEL_INVALID | Modelo não enviado ou em formato inválido |
ERROR_VEHICLE_VERSION_INVALID | Versão não enviada ou em formato inválido |
Eis exemplos de JSONs de retorno da API.
{
"token": "06fb235e216f3095ba913654d10afee2f55eae35",
"statusCode": 0,
"statusMessage": "The ads were imported and will be processed",
"errors": []
}
{
"token": null,
"statusCode": -4,
"statusMessage": "An ad had problems on import",
"errors": [
{
"id": "78192371",
"status": "error",
"messages": [
{
"category": "NO_REGION"
}
]
}
]
}