Quantcast
Channel: Mercado Libre Developers
Viewing all 99 articles
Browse latest View live

GeneXus

$
0
0

GeneXus

Develop by GeneXus, it hides all the complexity of OAuth, REST, Http, JSON handling and lets you focus on writing your mobile or web application.

GeneXus Meli SDK is distributed via GeneXus Server. You can take it from this repository and import it in your GeneXus 15 Knowledge base.

Thank by his contribution to the community!

Install GeneXus for SDK

Please rate this

La entrada GeneXus aparece primero en MercadoLibre Developers.


Android

Attributes

$
0
0

Attributes

Contents:

  • What is an attribute?
  • Benefits
  • What JSON do and which it is their user?
  • Description of the publication.

What is an attribute?

An attribute is the feature that is used to give a description of the product which is then reflected in the data sheet for the item.

Benefits

  • All attribute can be listed in a data sheet on the VIP, used to avoid questions and frictions.
  • The information of the item is more complete and have more leadership of the description.

What JSON to do?

The JSON utilized for this action is:

https://api.mercadolibre.com/categories/MLA331585/attributes#json

Utilization

curl -X PUT -H "Content-Type: application/json" -H "X-Caller-Scopes: admin" -H "X-Admin-Id: admin" -d 
'{"attributes": [{"id": "PART_NUMBER", "value_name": "235/60 R16"}, {"id": "DIAMETER"}, {"id": "HEIGHT"}, {"id": "WIDTH"} ] }' "http://internal.mercadolibre.com/items/MLA609925193?caller.id=148829068&client.id=5580"

Description of the publication

Once loaded all the attributes the data sheet to be:
Ficha técnica

Next:
General attributes.

Please rate this

La entrada Attributes aparece primero en MercadoLibre Developers.

General attributes

$
0
0

General attributes

Contents:

  • How I can get categories attributes?
  • What I can make with this information?
  • How I can change general attributes?
  • How relist general attributes?
  • Delete general attributes

How I can get categories attributes?

The categories attributes may be obtained performing a GET.

Call:

curl - x GET https://api.mercadolibre.com/sites/{SITE_ID}/categories_attributes

What I can make with this information?

Once you have obtained the attributes categories you will know what attributes through the next call are:

curl - x GET https://api.mercadolibre.com/categories/{CATEGORY_ID}/attributes

How I can change general attributes?

To change an attributes of an item already created will have done the following PUT:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d "
{
    "attributes": [{
        "id": "MLA1744-COLOREXT",
        "value_id": "MLA1744-COLOREXT-AMARILLO"
    }, {
        "id": "MLA1744-COMBUS"
    }, {
        "id": "MLA1744-KMTS"
    }, {
        "id": "MLA1744-DOOR"
    }, {
        "id": "MLA1744-YEAR"
    }]
} "https://api.mercadolibre.com/items/MLA621092868?"access_token={YOUR_ACCESS_TOKEN}"

Notes:

  • When the attributes don´t have “value_id” are they obligatory/required and lest modified is necessary to send.
  • The JSON response is the same item with the new attribute.

Delete general attributes

To delete an attribute you must make a similar call to the following example:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d "
{
    "attributes": [{
        "id": "MLA1744-COMBUS"
    }, {
        "id": "MLA1744-KMTS"
    }, {
        "id": "MLA1744-DOOR"
    }, {
        "id": "MLA1744-YEAR"
    }]
}
"https://api.mercadolibre.com/items/MLA621092868?access_token={YOUR_ACCESS_TOKEN
}"

Next:
Particular attributes.

Please rate this

La entrada General attributes aparece primero en MercadoLibre Developers.

Particular attributes

$
0
0

Particular attributes

Inside attributes we can find “particular attributes”, these are:

  • Product identifiers
  • Part number

Product identifiers

Valid for all countries but currently sellers from MLB and MLM which uphold a reputation level of light green and up and send the Product Identifiers for their items is elegible to have those items displayed on the Google Shopping catalog.
To make this possible there’s a very simple API resource that accepts only GET and PUT methods.

What is GTIN?

GTIN (Global Trade Item Number) is a global trade item number, which is used to uniquely identify any product or item on which there is a need for a specific information which must be assigned a price. Includes all the codes, for example: GTIN is EAN -13 or UPC is GTIN -12.

How to send your product identifiers information

Make a PUT with the product identifiers information and your $ACCESS_TOKEN:

curl -X PUT -H “Content-Type: application/json” -d
{
    "brand": "Apple",
    "mpn": "ME499BZA",
    "gtins": -[
        -{
            "type": "EAN",
            "code": "00885909793839",
    },
  ],
}
https://api.mercadolibre.com/items/{item_id}/product_identifiers?access_token=$ACCESS_TOKEN

How to query your product identifiers information

Make a GET call to the API:

curl -X GET https://api.mercadolibre.com/items/MLB558871250/product_identifiers

Respuesta:

{
    "brand": "Apple",
    "mpn": "ME499BZA",
    "gtins": -[
        -{
            "type": "EAN",
            "code": "00885909793839",
    },
  ],
}


Note that if you relist your item, the id’s you’ve sent for the original listing will be kept automatically.

Resource description

Attribute Description
brand Brand.
mpn Manufacturer Part Number.
gtins Golbal Trade Item Numbers for the Item.
type UPC, EAN, JAN or ISBN.
code GTIN code

Important Guidelines

  • They are not your internal SKUs.
  • They can consist of 8, 12, 13 or 14 characters.
  • Submitted GTINs get validated, and invalid ones will be rejected by the API.
  • Type must be one of EAN or UPC (case insensitive).
  • As a rule of thumb, the type 12 and 8 character codes are UPC, the rest are EAN.
  • You can send a JSON with multiple GTINs IDs in the “gtins” collection.
  • It’s recommended to include Brand, and at least one of the other identifiers. Otherwise, even if you happen to be eligible to participate in third party product listings programs, such as Google Product Search, items lacking such identifiers will not be sent to participate.
  • If you want to opt-out of the benefit, send an email to the following email addresses:
  • Brazilian sellers: gps-optout@mercadolivre.com.br
    Hispanic sellers: gps-optout@mercadolibre.com
    Subject: unsubscribe {SellerId}
    Message: (optional). Reason for opting out of the benefit.
    Note that if you opt-out the benefit, none of your products will be displayed on Google Shopping.

Product Identifiers Open Source App

We’ve developed an open source app to help our sellers interact with the product identifiers API with a friendly user interface. Feel free to check it out here.
Also, you can access the source code on github.

Typers Product Identifiers:

ISBN: International Standard Book Number. Unique identifier for books for commercial use.

There are two types:
ISBN-10
It is a code of 10 character where the first 9 are always digits, but the latter may well be a digit or a letter ‘X’. This version of the code is NOT compatible with the EAN-13 standard, but can be provided for items that require it .

ISBN-13
It is a 13 character numeric code, compatible with the EAN-13 format described below.

EAN: European Article Number (now renamed International Article Number). It is a barcode system adopted by over 100 countries.

The most usual code EAN is EAN13, consisting of 13 digits and a four-part structure:

  • Code of the country where the company resides, consisting of 3 digits.
  • Product code. Complete the first 12 digits.
  • Check Digit used to validate the code structure.

UPC: Universal Product Code. It is a barcode system using in USA and Canada. Usual types: UPC-A (12 digits) and UPC-E (6 digits).

upc
JAN: Japanese Article Number. It is a barcode system using in Japan. It is compatible with the length and validations of the EAN -13 codes.

Benefits

  • If the seller has its reputation in green and load the PI, will be chosen to be promoted on Google Product Shopping.
  • (Benefit in future): categorize automatically the item.
  • (Benefit in future): Complete the attributes of the items and display them in a fact sheet on the VIP.

Part Number

We called Part Number to the codes who help to find out a spare automotor part, defining for example compatibility, or another things. It takes an identification number of a part to know the compatible car.
Part Number types in Mercado Libre Brasil (Manufacturer Code):
– OEM (Original Equipment Manufacturer)
– OES (Original Equipment Supplier/Aftermarket)

Benefits

  • The list of sellers who apply this attributes will be indexed by the autoparts widget.
  • Remember, a better search method has better conversion rate.The lists of people to be held will be indexed by the widget auto parts.

partNumber

Next:
Variations.

Please rate this

La entrada Particular attributes aparece primero en MercadoLibre Developers.

Item Specifications

$
0
0

Item Specifications

New options for incorporate information in the description of the item!
Check the documentation to know how to use “Item Specifications” when publishing:

Attributes

Variations

Keep in mind which ones are the categories with attributes and variations in:
Mercado Libre Argentina
Mercado Libre Brasil

Please rate this

La entrada Item Specifications aparece primero en MercadoLibre Developers.

Términos y Condiciones Hackathon Mercado Libre + Microsoft

$
0
0

Términos y Condiciones Hackathon Mercado Libre + Microsoft

1. El Concurso.

Hackathon Mercado Libre + Microsoft es un concurso (en adelante, el “Concurso”) organizado en conjunto por MercadoLibre S.R.L. (en adelante, “Mercado Libre”) con domicilio en Arias 3751, piso 7°, Ciudad de Buenos Aires (en adelante, el “Domicilio de Mercado Libre”), empresa que ha desarrollado y administra la plataforma de comercio electrónico que opera en el sitio web www.mercadolibre.com.ar y la plataforma de pagos online que funciona en la URL www.mercadopago.com.ar (en adelante, “Mercado Pago”) por un lado, y Microsoft de Argentina S.A., con domicilio en Bouchard 710, piso 4º, Ciudad de Buenos Aires, una sociedad de la República Argentina (en adelante “Microsoft”), por el otro (en conjunto los “Organizadores”).

2. Los Participantes.

Para participar del Concurso es necesario que reúnas los siguientes requisitos: (i) ser una persona humana mayor de dieciocho (18) años de edad; (ii) estar domiciliado en la República Argentina (en adelante, el “Territorio”); (iii) registrarte para participar del Concurso ingresando en la URL https://www.eventbrite.com.ar/e/hackathon-mercado-libre-microsoft-registration-25388509716 (en adelante el “Sitio Web”) completando los datos requeridos; (iv) tener una cuenta activa en MercadoPago; y (v) acreditar la realización de un curso de capacitación online que versará sobre las tecnologías a utilizar durante el Concurso antes del 17 de junio de 2016. El curso tendrá una duración de 3 horas y se podrá realizar ingresando a https://www.acamica.com/cursos/62/introduccion-a-la-api-de-mercadolibre o a http://melimsft.azurewebsites.net/ (en adelante, la ‘Capacitación’). El cupo máximo de participantes que podrán inscribirse y participar del concurso será de 50 (cincuenta) personas (en adelante, el “Cupo Máximo de Participantes”). Por lo tanto, los interesados en participar podrán registrarse desde el día 27 de mayo de 2016 hasta las 23:59 horas del día 17 de junio de 2016 mientras no se encuentre cubierto el Cupo Máximo de Participantes (lo que ocurra primero). La lista final de seleccionados para participar en el Concurso se publicará entre el día 20 y 24 de junio de 2016 en developers.mercadolibre.com y se enviará un e-mail a cada participante para corroborar su asistencia al Concurso. En caso de que alguno de los participantes que hubiera recibido el e-mail indicare a los Organizadores que no asistirá o no respondiera en el plazo de 24 (venticuatro) horas desde la recepción del e-mail, los Organizadores invitarán a participar a otros inscriptos que hayan cumplido con los requisitos mencionados más arriba, comunicándose con ellos hasta 24 (veinticuatro) horas antes del evento. No podrán participar en el Concurso personal dependiente de los Organizadores ni de sus sociedades relacionadas, ni sus familiares directos (padres, hijos y hermanos).

3. Mecánica del Concurso

3.1. Los interesados en participar que cumplan con los requisitos antedichos y se hubieren registrado para participar del Concurso (en adelante, el “Participante” o los “Participantes”), de conformidad con lo establecido en el párrafo precedente, podrán participar del evento que se desarrollará por veintiocho (28) horas consecutivas (entre las 9 horas del día 25 de junio de 2016 hasta las 13 horas del día 26 de junio de 2016) en Av. Libertador 101, Edificio Al Rio, Vicente Lopez (en adelante el “Evento”). El objetivo del Evento será que los Participantes desarrollen una aplicación web que esté orientada a usuarios vendedores o compradores de Mercado Libre, mediante la utilización de la Interfaz de Programación de Aplicaciones (API) de Mercado Libre (en adelante, la o las “Aplicación/es”) y el servicio en la nube Azure de Microsoft. Todo el desarrollo de las Aplicaciones deberá realizarse durante el Evento. Los Participantes desarrollarán las Aplicaciones formando equipos de dos a cinco Participantes previamente inscriptos (en adelante, el o los “Equipo/s de Participantes”).
3.2. En todos los casos, los gastos de traslado y todo otro gasto en los que los Participantes eventualmente deban incurrir a fin de participar del Evento y/o a fin de realizar la Capacitación, estarán a su único y exclusivo costo y cargo.
3.3. Cada Participante será responsable por los equipos o elementos personales que ingrese al Evento, no siendo los Organizadores responsables por pérdidas, daños, robos o hurtos de los bienes de los Participantes.
3.4. Cada Equipo de Participantes deberá entregar a los Organizadores hasta un (1) demo de la Aplicación que hubieren desarrollado durante el Evento (en adelante, el o los “Demo/s”) hasta las once (11) horas del día 26 de junio de 2016. La entrega del Demo se realizará subiéndolo a un repositorio y otorgando permiso de lectura a los Organizadores. Los Organizadores se reservan el derecho a rechazar los Demos que fueren entregados con posterioridad al horario y fecha indicados precedentemente o por cualquier otro motivo que estimen pertinente. Los Organizadores no serán responsables de los proyectos que no lleguen a ser entregados producto de problemas técnicos, fallas en la comunicación, pérdida o retraso.
3.5. Los Participantes aceptan y garantizan que no presentarán contribuciones que:
– Contengan virus informático, gusano informático, spyware, u otro componente malicioso, engañoso, o diseñado para restringir o dañar la funcionalidad de una computadora y/o acceder a la información personal de los usuarios de la aplicación.
– Infrinjan los derechos de autor de terceros, patentes, marcas registradas, secreto comercial u otros derechos de propiedad o derechos de publicidad o privacidad de terceros.
– Violen cualquier ley o normativa vigente en el Territorio.
– Razonablemente puedan ser considerados como difamatorios, calumniosos, odiosos, racial o moralmente ofensivos, amenazantes ilícitamente o ilegalmente acosar a cualquier persona, sociedad o corporación.

4. El Ganador.

4.1. Los Organizadores, a través de un jurado, seleccionarán una (1) Aplicación ganadora del primer premio del Concurso y otras (2) dos que recibirán un segundo y tercer premio, el día 26 de junio de 2016 antes de la finalización del Concurso (en adelante, los “Equipos de Participantes Ganadores”).
4.3. En todos los casos las elecciones de los Equipos de Participantes Ganadores quedarán a exclusiva discreción de los Organizadores en base a la originalidad, funcionalidad de la Aplicación por ellos desarrollada y/o en base cualquier otro criterio que los Organizadores deseen tomar en cuenta.
4.4. En función de las condiciones de acceso, adjudicación y entrega del premio de este Concurso, no hay intervención alguna del azar.

5. El Premio.

5.1. El Equipo de Participantes ganador del primer lugar recibirá un premio, a otorgarse por Mercado Libre, consistente en dinero a acreditarse en las cuentas activas de Mercado Pago de los Participantes por AR$25.000 (pesos argentinos veinticinco mil) y una Microsoft XBOX One por cada integrante del equipo ganador a ser otorgadas por Microsoft (en adelante y en conjunto, el “Primer Premio”), mientras que el segundo lugar recibirá AR$10.000 (pesos argentinos diez mil) a otorgarse por Mercado Libre (en adelante, el “Segundo Premio”) y el tercer lugar recibirá AR$5.000 (pesos argentinos cinco mil) a otorgarse por Mercado Libre (en adelante, el “Tercer Premio”). Asimismo, todos los Equipos de Participantes Ganadores recibirán seis (6) reuniones de mentoría, a llevarse a cabo de forma presencial o vía telefónica, según consideren los Organizadores, en aspectos técnicos y de producto, con profesionales a designar por los Organizadores, válidas para los 90 días corridos posteriores al Evento en lugar y fecha que a ser definidos por los Organizadores (en conjunto con el Primer Premio, el Segundo Premio y el Tercer Premio, los “Premios”). Los Premios en dinero se dividirán en partes iguales entre cada Participante integrante del equipo ganador. Por lo tanto, cada Participante integrante de los Equipos de Participantes Ganadores será acreedor de un premio por un monto equivalente al valor del premio adjudicado dividido por el número de integrantes del Equipo de Participantes. Los premios en efectivo, serán desembolsados a través de GiftCards de Mercado Pago y, junto con los premios físicos, serán entregados al finalizar el evento.
5.2. Los Premios son personales e intransferibles y en ningún caso podrán ser reclamados por terceros. En caso que los Organizadores no pudieran realizar la entrega de los Premios ofrecido por cuestiones ajenas a su voluntad y no imputables, los Organizadores podrán a su único y exclusivo criterio, reemplazar el mismo por un premio en especie de similar valor.
5.3. En todos los casos, los gastos de traslado y todo otro gasto en los que los ganadores eventualmente deban incurrir a fin de retirar el premio, estarán a su único y exclusivo costo y cargo.
5.4. La responsabilidad de los Organizadores finaliza con la puesta a disposición del premio asignado a los ganadores y bajo ningún concepto deberá responder o reintegrar al ganador cualquier costo y/o gasto en que éste incurran en razón de su participación en el Concurso, ni por cualquier otra causa. Cualquier reclamo respecto de los Premios debe ser dirigido a su fabricante.
5.5. En todos los casos, será a exclusivo cargo de los ganadores el pago de cualquier suma que pudiere corresponder por la obtención del premio, ya sea en concepto de impuesto, tasa, contribución y/o arancel nacional, provincial o municipal. Los Premios ofrecidos por el Organizador no podrán ser canjeados por dinero u otros bienes. Los Premios son intransferibles y serán entregados únicamente en la medida en que los participantes que hayan sido seleccionados se identifiquen con el DNI correspondiente y suscriban el recibo de entrega del Premio que corresponda.

6. Condiciones Generales.

6.1. La inscripción y/o participación en el Concurso implica el pleno conocimiento y aceptación de estas Bases y Condiciones, y de los requisitos para participar en el Concurso. En caso de resultar necesario, MercadoLibre se reserva el derecho de modificar, ampliar y/o aclarar estas Bases y Condiciones.
6.2. Los Organizadores podrán requerir la presencia del Ganador y/o de los Finalistas, así como también publicar sus datos personales e incluso exhibir su imagen (foto y/o video) mediante cualquier acción publicitaria, de prensa, promoción, publicación y/o medio de difusión que consideren conveniente, para lo cual los participantes otorgan expresa autorización y sin que la misma conceda al Ganador derecho a contraprestación o indemnización alguna.
6.3. Los datos personales consignados por los Participantes al registrarse para participar en el Concurso podrán ser utilizados por Mercado Libre y Microsoft y/o sus afiliadas solamente con relación al presente Concurso. Sin perjuicio, los Organizadores podrán conservar las direcciones de correo electrónico suministradas con el único fin de enviar invitaciones a otros eventos similares o propuestas laborales. Los restantes datos suministrados no serán conservados por los Organizadores una vez finalizado el Concurso. Los titulares de los datos personales tienen la facultad de ejercer los derechos de acceso, rectificación y supresión de los mismos conforme lo dispuesto en el artículo 6, inciso e) de la ley 25.326. El derecho de acceso podrá ejercerse en forma gratuita a intervalos no inferiores a seis meses, salvo que se acredite un interés legítimo al efecto, conforme lo establecido por el artículo 14, inciso 3 de la Ley N°25.326. El titular del dato podrá solicitar el retiro o bloqueo, total o parcial, de su nombre de la base de datos. A pedido del interesado, se le informará el nombre del responsable o usuario del banco de datos que proveyó la información (Ley 25.326 – Art.27. – INC. 3 y Decreto 1558/01 – art. 27. – 3er. Párrafo). Los Organizadores se encuentran inscriptos en el Registro Nacional de Bases de Datos de conformidad con la normativa vigente. La Dirección Nacional de Protección de Datos Personales, Órgano de Control de la Ley N°25.326, tiene la atribución de atender las denuncias y reclamos que se interpongan con relación al incumplimiento de las normas sobre protección de datos personales.
6.4. A todo evento se deja constancia de que el presente Concurso es “sin obligación de compra”.
6.5. Para cualquier controversia que pudiere surgir con relación al Concurso y a estas Bases y Condiciones, los participantes se someten a la jurisdicción de los tribunales sitos en la Ciudad de Buenos Aires con renuncia a cualquier otro fuero y jurisdicción que pudiera corresponder.
6.6. Cada Participante será el titular de los derechos de propiedad intelectual derivados de la Aplicación que hubiesen desarrollado; no obstante, como condición para su participación en este Concurso los Participantes otorgan a ambos Organizadores una licencia perpetua, gratuita, sin limitación temporal ni territorial, para utilizar y explotar en cualquier forma las Aplicaciones.

Please rate this

La entrada Términos y Condiciones Hackathon Mercado Libre + Microsoft aparece primero en MercadoLibre Developers.

meliexperience


Intellectual Property Protection Program (IPPP)

$
0
0

Intellectual Property Protection Program (IPPP)

Our Program enables intellectual property right owners or agents to report and request removal of postings breaching their rights.

To report postings, you need to adhere to the Program.

Once you become an IPPP member, you should request the report API instructions through the form. You will find all the necessary information on how to integrate there.

In case members need more information on the program, please write to us from this form.

In case you have any problem or doubt on how the API works, you can contact us.

Please rate this

Deals

$
0
0

Deals

Sellers who receive advice from Mercado Libre’s sales team are regularly invited to participate in different deals campaigns that take place during the year in our website. If you have received an invitation for one of this campaigns and you want to join, follow this tutorial to learn the basic of how to suggest your products.

Deals

Contents:

Important:

  • For testing purposes, a test user must be used. This guarantees that you will always have a deal (campaign) available for proposing ítems.
  • To make a call to this API, you will need an access token.

Obtain the campaigns you were invited to

This resource retrieves the deals campaigns associated to a user_id. There can be more than one per user.

Example:

curl -X GET https://api.mercadolibre.com/users/{User_id}/deals/search?access_token=$ACCESS_TOKEN

Response:

{
  "paging": {
    "total": 2,
    "offset": 0,
    "limit": 0
  },
  "filters": {
    "site_id": "MLA"
  },
  "results": [
    {
      "id": "MLA90",
      "name": "pruebaIntegracion",
      "description": "Prueba Integracion",
      "site_id": "MLA",
      "status": "test",
      "offers_reception_deadline": "2016-08-30T23:00:00-04:00",
      "start_time": "2016-08-18T03:00:00.000Z",
      "end_time": "2016-08-19T02:59:00.000Z",
      "requisites": [
        {
          "name": "RequisiteDiscount",
          "criteria": "original_price",
          "categories": [
            "MLA1144"
          ],
          "parameters": {
            "value": "20",
            "type": "gold_special"
          },
          "description": "Items with listing gold_special type must have at least 20% off"
        },
        {
          "name": "RequisiteDiscount",
          "criteria": "original_price",
          "categories": [
            "MLA1144"
          ],
          "parameters": {
            "value": "15",
            "type": "gold_premium"
          },
          "description": "Items with listing type gold_premium must have at least 15% off"
        },
        {
          "name": "CATEGORIES_REQUISITE",
          "criteria": "NA",
          "categories": [
            "MLA5726",
            "MLA1276",
            "MLA1384"
          ],
          "parameters": {
          },
          "description": "Items must belong to the specified categories"
        },
        {
          "name": "RequisiteFreeShipping",
          "criteria": "retail_price",
          "categories": [
            "MLA5725"
          ],
          "parameters": {
            "currency": "ARS",
            "value": "500"
          },
          "description": "Items in the specified categories and with price higher than ARS 500 must have free shipping"
        }
      ]
    }
  ]
}

One important field you should pay attention in this response is the field “dead_line”, which indicates up to when you will be able to suggest your products. After that time, you will not be allowed to suggest items for the campaign.
The field “requisites” contains a set of requisites that your proposed items must meet in order to join the campaign. These requisites are defined by Mercado Libre for each campaign.

Propose a product for a campaign

Once you know you have been invited to a deals campaign, you can select which of your products you want to include in the campaign and propose them. You might have to detail the conditions in which your products will participate in the campaign (i.e. discount price for the campaign, stock for the campaign, etc.).

Request (example):

curl -X POST -d '{"item_id":"MLA632979587","deal_price":149,"regular_price":200,"declared_stock":8,"declared_free_shipping":true, "brand":"brand1","model":"model1","declared_oro_premium_full":true}' 'https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items?access_token=$ACCESS_TOKEN'

Response (example):

{
  "item_id": "MLA633000763",
  "regular_price": 200,
  "deal_price": 149,
  "declared_stock": 8,
  "declared_free_shipping": true,
  "declared_oro_premium_full": true,
  "category_l1": "MLA1953",
  "category_l2": "MLA3530",
  "brand": "brand1",
  "model": "model1",
  "date_created": "2016-08-29T14:08:10.902-04:00",
  "last_updated": "2016-08-29T14:08:10.902-04:00",
  "status": "pending_approval",
  "title": "Item De Testeo, Por Favor No Ofertar --kc:off"
}

Modify a product in a campaign

If the deadline date has not been reached, you are allowed to make modifications to the products you have previously suggested for a campaign.
Request:

curl -X PUT -d '{"deal_price":150}' 'https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/{Item_id}?access_token=$ACCESS_TOKEN'

Response (example):

{
  "item_id": "MLA633000763",
  "regular_price": 200,
  "deal_price": 152,
  "declared_stock": 8,
  "declared_free_shipping": true,
  "declared_oro_premium_full": true,
  "category_l1": "MLA1953",
  "category_l2": "MLA3530",
  "brand": "brand1",
  "model": "model1",
  "date_created": "2016-08-29T14:08:11.000-04:00",
  "last_updated": "2016-08-29T14:34:53.662-04:00",
  "status": "pending_approval",
  "title": "Item De Testeo, Por Favor No Ofertar --kc:off"
}

Remove a product from a campaign

If the deadline date has not been reached, you are allowed to remove products you have previously suggested for a campaign.
Request:

curl -X DELETE https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/{Item_id}?access_token=$ACCESS_TOKEN

Response:

{}

Response with status 204.

Obtain my products in a campaign

You can obtain the products you have suggested for a campaign.

Request:

curl -X GET https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/search?access_token=$ACCESS_TOKEN

Response:

{
  "paging": {
    "total": 2,
    "offset": 0,
    "limit": 50
  },
  "filters": {
    "deal_id": "MLA90",
    "seller_id": "210456151"
  },
  "results": [
    {
      "item_id": "MLA632979587",
      "current_price": 170,
      "regular_price": 200,
      "deal_price": 149,
      "declared_stock": 8,
      "declared_free_shipping": true,
      "declared_oro_premium_full": true,
      "category_l1": "MLA1953",
      "category_l2": "MLA3530",
      "brand": "brand1",
      "model": "model1",
      "date_created": "2016-08-29T11:52:01.000-04:00",
      "last_updated": "2016-08-29T11:52:01.000-04:00",
      "status": "pending_approval",
      "title": "Item De Testeo, Por Favor No Ofertar --kc:off",
      "discount": 26
    },
    {
      "item_id": "MLA632632625",
      "current_price": 200,
      "regular_price": null,
      "deal_price": 100,
      "declared_stock": 50,
      "declared_free_shipping": false,
      "declared_oro_premium_full": false,
      "category_l1": "MLA1953",
      "category_l2": "MLA3530",
      "brand": "Prueba",
      "model": "Cool",
      "date_created": "2016-08-26T10:34:04.000-04:00",
      "last_updated": "2016-08-26T10:34:04.000-04:00",
      "status": "pending_approval",
      "title": "Item De Testeo, Por Favor No Ofertar --kc:off",
      "discount": 50
    }
  ]
}

Please rate this

Golang

$
0
0

Golang

Do you use GO? Would you like to implement it?
With Golang SDK – Google programming language- you can interact with our API fast as the oAuth 2.0. process will be easier.
You just need to focus on your application specific code!

About Golang
This is a concurrent and compiled programming language inspired in Syntax of C.
Developed by Google and the first designers were Robert Griesemer, Rob Pike and Ken Thompson.
Currently only available for Windows, GNU/Linux and Mac OS X Operating Systems.

Download Golang SDK and get the necessary documentation at GibHub.

Contribute

If you want to contribute to the SDK development or find a friction, you can make an SDK fork on GitHub and a pull request.

Please rate this

Messaging after sale

$
0
0

Messaging after sale

The messing API resource will enable you to get messages from a specific order, create new messages in the system, and send or receive attachments.
Let’s see how you can use it!

Contents:

Parameters description

message_id Message id
date_created Date of creation
date Date a message is saved
date_received Date a message is received
date_availableDate a message went through moderation
date_notified Date a message was notified to counterparty
date_read Date a message was read by counterparty

from A message sender
user_id Id of user who sent message
email Email of user who sent message (order secure email)
name Name of user who sent message

to A message recipient
user_id Id of user who received message
email Email of user who received message (order secure email)

subject Email subject
text Message text
plain Message plain text
html Message html text

attachments Attached files
attachments_validations Attachment validation
invalid_size If attachment size is invalid
invalid_extension Invalid attachment extension
internal_error Internal error

site_id Mercado Libre (MLA, MLB, etc.) site
resource Corresponding to order it pertains to (orders)
resource_id Order ID
status Message status
moderation_status Message moderation status
action In case of a message with invalid html, this parameter will pop up and show message url link.

Get messages

To get messages from a specific order, you should associate the order_id with this resource via GET.

Call:

GET ".../messages/orders/$order_id"

Example:

 curl -X GET “https://api.mercadolibre.com/messages/orders/{resource_id}?access_token=$ACCESS_TOKEN”

Possible extra parameters:

These parameters can be used to determine the number of messages recovered by GET.

&limit={límite} >> positive integer

Example:

curl -X GET “https://api.mercadolibre.com/messages/orders/{order_id}?access_token=$ACCESS_TOKEN&limit=10”

&offset={compensación} >> positive integer

Example:

curl -X GET “https://api.mercadolibre.com/messages/orders/{order_id}?access_token=$ACCESS_TOKEN&limit=10&offset=1”

Response:

{
    "paging": {
        "limit": 2,
        "offset": 1,
        "total": 270
    },
    "results": [
        {
            "_id": "43b450d6bd3f47fb94394041b26c519f",
            "message_id": "43b450d6bd3f47fb94394041b26c519f",
            "date_received": "2016-11-07T15:03:14.978Z",
            "date": "2016-11-07T15:03:14.978Z",
            "date_available": "2016-11-07T15:03:14.978Z",
            "date_notified": "2016-11-07T15:05:50.179Z",
            "date_read": "2016-11-08T22:43:17.767Z",
            "from": {
                "user_id": "76601286",
                "email": "mailfrom.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com",
                "name": null
            },
            "to": [
                {
                    "user_id": "106459677",
                    "email": "mailto.lj36rj8+2-ogeytenjqgi3tomjw@test.mercadolibre.com"
                }
            ],
            "subject": null,
            "text": {
                "plain": "Mensaje de pruebas desde api publica con attachment. Multiples 'to' "
            },
            "attachments": [
                {
                    "size": "103584",
                    "type": "image/png",
                    "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                    "filename": "76601286_51a2e39b-7ff6-48ef-85f8-3025676db43e.png",
                    "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
                }
            ],
            "attachments_validations": null,
            "headers": null,
            "site_id": "MLA",
            "resource": "orders",
            "resource_id": "1125027671",
            "status": "available",
            "moderation_status": "non_moderated",
            "moderation": {
                "status": "non_moderated"
            },
            "client_id": 1000
        },
        {
            "_id": "37befd545a2d436f89e672b33990ef8b",
            "message_id": "37befd545a2d436f89e672b33990ef8b",
            "date_received": "2016-11-07T14:56:02.500Z",
            "date": "2016-11-07T14:56:02.500Z",
            "date_available": "2016-11-07T14:56:02.500Z",
            "date_notified": "2016-11-07T14:57:46.659Z",
            "date_read": "2016-11-07T15:19:08.967Z",
            "from": {
                "user_id": "76601286",
                "email": "mailfrom.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com",
                "name": null
            },
            "to": [
                {
                    "user_id": "106459677",
                    "email": "mailto.lj36rj8+2-ogeytenjqgi3tomjw@test.mercadolibre.com"
                }
            ],
            "subject": null,
            "text": {
                "plain": "Mensaje de pruebas desde api publica con attachment. Multiples 'to' "
            },
            "attachments": [
                {
                    "size": "103584",
                    "type": "image/png",
                    "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                    "filename": "76601286_51a2e39b-7ff6-48ef-85f8-3025676db43e.png",
                    "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
                }
            ],
            "attachments_validations": null,
            "headers": null,
            "site_id": "MLA",
            "resource": "orders",
            "resource_id": "1125027671",
            "status": "available",
            "moderation_status": "non_moderated",
            "moderation": {
                "status": "non_moderated"
            },
            "client_id": 1000
        }
    ]
}

Get messages by ID

Request:

GET “https://api.mercadolibre.com/messages/{message_id}?access_token=$ACCESS_TOKEN”

Response Example:

{
  "message_id": "0033b582a1474fa98c02d229abcec43c",
  "date_received": "2016-09-01T05:15:25.821Z",
  "date": "2016-09-01T05:15:25.821Z",
  "date_available": "2016-09-01T05:15:25.821Z",
  "date_notified": "2016-09-01T05:17:42.945Z",
  "date_read": "2016-09-01T21:31:19.606Z",
  "from": {
    "user_id": "123456789",
    "email": "userfrom.n4tx9d+2-ogeytenjqgi3tomjw@mail.mercadolibre.com",
    "name": "User from"
  },
  "to": [
    {
      "user_id": "123456780",
      "email": "userto.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com"
    }
  ],
  "subject": "Test Item subject",
  "text": {
    "plain": "Ejemplo de texto"
  },
  "attachments": [
    {}
  ],
  "attachments_validations": {
    "invalid_size": [
    ],
    "invalid_extension": [
    ],
    "forbidden": [
    ],
    "internal_error": [
    ]
  },
  "site_id": "MLA",
  "resource": "orders",
  "resource_id": "1234567871",
  "status": "available",
  "moderation": {
    "status": "non_moderated"
  }
}

Create messages

In case of from seller, order seller.id will go in from.user_id.

Call:

POST “https://api.mercadolibre.com/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID” 

Note: The access_token parameter and application_id need to be sent.

Example:

curl -i -X POST -H "Content-Type: application/json" -H “X-Client-Id: {application id}” -d
'{
    "from": {
        "user_id": 123435,
    },
    "to": [
        {
            "user_id": 9191923,
            "resource": "orders",
            "resource_id": 2223213,
            "site_id": "MLA"
        }
    ],
    "text": {
        "plain": "Plain text message here"
    }
}’ https://api.mercadolibre.com/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID

Note: The attachments attribute is obtained from the attachment POST response. (See attachments section).

Send attachment

To attach a file in the message, you need to save it first.
Then, when the attachment is sent, the file id is returned as response.

Call:

POST “https://api.mercadolibre.com/messages/attachments?access_token=$ACCESS_TOKEN”

Notes:

  • The POST needs to be made form.data with key: value > file = reference to file (that is, the file itself).
  • The file needs to have a maximum 5 MB size.

Example:

curl-i-XPOST-H"Content-Type: multipart/form-data"-F"file=@/home/user/file""https://api.mercadolibre.com/messages/attachments?access_token=$ACCESS_TOKEN"

In this case, the server will respond with a JSON containing file id in case of a successful request.

Note: The response obtained should be attached to the intended message.

Response:

{
  "id": "210438685_59f0f034-db1b-4ea6-8c5e-1d34e2092482.jpg"
}

Get attachment

To get an attached message, you need to make a GET.

Call:

GET “https://api.mercadolibre.com/messages/attachments/{attachment_id}?access_token=$ACCESS_TOKEN” 

Example:

https://api.mercadolibre.com/messages/attachments/76601286_5946e4c4-168a-45fd-945e-b8f0c306c58d.png?access_token=$ACCESS_TOKEN

Response:
If the request is successful, the call will return the requested file.

In case the file cannot be accessed, the server response will be the following:

{
    "message": "File can not be accessed, try it later",
    "error": null,
    "status": 500,
    "cause": []
}


In case the access token is not sent, the message will be:

{
    "message": "Access token is required",
    "error": "bad_request",
    "status": 400,
    "cause": []
}


To conclude, following all these steps, the POST will be like this…

Example:

{
    "from": {
      "user_id": 123455677
    },
    "to": [
        {
            "user_id": 72345286,
            "resource": "orders",
            "resource_id": 1234567671,
            "site_id": "MLA"
        }
    ],
    "text": {
      "plain" : "Mensaje de pruebas"
    },
  	"attachments" : ["76602286_52a2e39b-7ff6-48ef-85f8-3025676db43a.png" ]


}

Response:

[
    {
        "message_id": "d2345e6e7bb844469ae79623018223af",
        "date_received": "2016-11-14T20:46:49.678Z",
        "date": "2016-11-14T20:46:49.678Z",
        "date_available": "2016-11-14T20:46:49.678Z",
        "date_notified": null,
        "date_read": null,
        "from": {
            "user_id": "123455677",
            "email": "userseller.n4tx9d+2-ogeytenjqgi3tomjw@mail.mercadolibre.com",
            "name": null
        },
        "to": [
            {
                "user_id": "72345286",
                "email": "userbuyer.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com"
            }
        ],
        "subject": null,
        "text": {
            "plain": "Mensaje de pruebas"
        },
        "attachments": [
            {
                "size": "103584",
                "type": "image/png",
                "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                "filename": "76602286_52a2e39b-7ff6-48ef-85f8-3025676db43a.png",
                "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
            }
        ],
        "attachments_validations": null,
        "site_id": "MLA",
        "resource": "orders",
        "resource_id": "1125027671",
        "status": "available",
        "moderation": {
            "status": "non_moderated"
        }
    }
]

Possible errors

Common errors

Request without access token:

{
  "message": "Access token is required",
  "error": "bad_request",
  "status": 400,
  "cause": [ ]
}

Errors to get message by id

User is denied access to a certain message:

{
  "message": "Access denied for user 30265782 to message with id 006b9b2df38f452b80402041ae86f6d4",
  "error": "forbidden",
  "status": 403,
  "cause": [ ]
}

Requested message does not exist:

{
    "message": "The specified message id does not exists",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

Post errors

Message without receiver (“to” is missing):
400: The field ‘to.user_id’ is required

User id “to” invalid:
400: Invalid ‘to’ user id

User “from” and “to” are the same:
400: Sender and received must not be equals

User “from” is denied access to order:
403: Access denied for user {from.user_id} to order {to.resource_id}

If user_id is 0 and email is not a secure_email:
400: The field ‘to.email’ must be a secure email

Message receiver does not belong to order:
403: Receiver does not belong to order {to.resource_id}

“Resource” attribute is not found:
400: The field ‘to.resource’ is required

Resource attribute is invalid:
400: Invalid field ‘to.resource’

Request without site_id:
400:The field ‘to.site_id’ is required

site_id attribute is invalid:
400: The field ‘to.site_id’ has an invalid value

Post without Json body:
400: A JSON body is required

Message without ‘from’:
400: The field ‘from’ is required

Request without access token:
400: Access token is required

Access Token without application_id:
400: Application id is required

GET messages by order Errors

User with no access to order:
403: User access token invalid for resource {resource_id}”

Request “limit” param must be greater than 0:
400: The limit param must be greater than 0

“Offset” param is invalid:
400: Invalid offset param

“Limit” param is invalid:
400: Invalid limit param

GET attachments Errors

Requested file could not be obtained:
500: File can not be accessed, try it later

Post attachments Errors

Problems when saving file:
500: File can not be saved, try it later

Attachment empty or null:
400: File attached is empty

File name cannot include characters such as: /, \
400: File name cannot include characters like /, \

File size exceeds 25 Mb. File size: x
400: File attachment is bigger than 25 Mb.

Message exceeds allowed number of attachments: 25
400: The message exceeds the allowed number of attachments: 25

To get more information about how to use this service without logging out Mercado Libre, click here.

Next topic:
Subscribe to our feeds.

Please rate this

iOS

$
0
0

iOS

To help third parties develop their own applications, at Mercado Libre we have developed the iOS SDK

You can interact with the API and get results in just a few minutes thanks to methods that easily solve the complexity of oAuth 2.0 and the most frequent calls to the API, helping you focus on the specific code of your application.

About iOS

iOS is a mobile operating system from Apple Inc. used by iPhone, iPod touch, and iPad.


Download iOS SDK and get the required documentation on GitHub.

Collaborate

If you want to collaborate with the SDK development or find a glitch, you can make a fork from the SDK on GitHub and make us a pull request.

Please rate this

Product Ads

$
0
0

Product Ads – Mercado Libre Advertising

This tool enables you to create advertising campaigns to help you promote your listings in Mercado Libre and get more visits and sales. If you are a new seller or if you are launching a new product, you will be able to make your first sales faster. If you are an experienced seller, you will be able to boost your listings’ performance and increase your sales.

Learn more in https://publicidad.mercadolibre.com.ar/productAds

Contents

Plans

If you wish to start working with Product Ads in Mercado Libre, the first thing you need to know, before designing your own campaigns, is the plans available in your country. Each plan will determine your maximum investment in advertising. The highest the plan, the more visits you will have, but you will pay a lower cost per click (CPC), and reach out more buyers.
To know which plans are available in your site:

curl -X GET https://api.mercadolibre.com/advertising/product_ads/plans?site_id=$site_id

Example:

curl -X https://api.mercadolibre.com/advertising/product_ads/plans?site_id=MLA
 
[
 {
   "id": 108,
   "site_id": "MLA",
   "name": "Avanzado",
   "daily_budget": 340
 }
]

The daily_budget field defines the maximum fixed budget a seller will pay per day. This amount varies by plan. It is expressed in each site’s local currency.

If necessary, you can also query the plan by its relevant ID.

curl -X GET https://api.mercadolibre.com/advertising/product_ads/plans/$plan_id

Example:

curl -X https://api.mercadolibre.com/advertising/product_ads/plans/108


{
   "id": 108,
   "site_id": "MLA",
   "name": "Avanzado",
   "daily_budget": 340
 }

Campaigns

All your ads will be grouped into campaigns. Each campaign will have an associated plan, and its budget will be shared by every ad within the campaign.
You can create as many campaigns as desired.

Create a campaign

The first thing you need to do is to add a campaign for a user. You can create two types of campaigns:


DEFAULT: It will always be the first campaign you have created. You cannot assign it a name nor create more than one campaign of this type. For Spanish-speaking sites, the name will be “Campaña General” [General Campaign]. In MLB it changes to “Campanha Geral”.

curl -X POST https://api.mercadolibre.com/advertising/product_ads/campaigns?access_token=$access_token
 
{
   "plan_id": 109,
   "sync_new_listings": "enabled|disabled", 
   "group_id": "ML|MS|OS_1234,
   "status": "active|paused"
}

Parameters

  • plan_id: it is the only mandatory field for a successful POST.
  • sync_new_listings: the default value is “enabled”. So, every time the user makes a post, the listing will automatically turn into an Ad Product. If the value is set to disabled, every item will have to be manually added.
  • group_id: this field defines the inventory considered to know which user’s listings should be taken into account for advertising purposes. The values represent Mercado Libre, Mercado Shops and the Official Store with their relevant ID.
  • status: by default a campaign is created as active.

When the campaign has no active listings, the status will automatically change to “hold”. No budget is consumed in this status. The special feature is that a user cannot change the status. The system will automatically set this status when every listing within the campaign is closed. Is this status final? No. When you add a new listing, the status will change to paused. To activate the listing, a PUT with active status should be manually called.

CUSTOM: This refers to campaigns specifically focused on certain products, specially when a seller has a broad catalog to leverage his/her investment. The creation of several custom campaigns enables to increase the daily budget.
Custom campaigns have their own name to identify them. Sync is disabled since it will be necessary to indicate which ads are part of this type of campaigns.

 curl -X POST https://api.mercadolibre.com/advertising/product_ads/campaigns?access_token=token
 
{
"plan_id": 109,
“name”: “example_campaign”,   
"group_id": "ML|MS|OS_1234, 
"status": "active|paused"
}

Response

{
       "id": 29412881,
       "name": "aName",
       "user_id": 38957177,
       "plan_id": 109,
       "type": "default|custom",
       "sync_new_listings": "enabled|disabled",
       "group_id": "ML|MS|OS_1234,
       "status": "active|paused",
       "date_created": "2017-01-10T18:23:55-04:00",
       "last_updated": "2017-01-10T18:23:55-04:00"
   }

Restrictions for a user to create campaigns

  • If the user has no items listed, he/she cannot create campaigns.
  • If the user’s reputation in the site is red or orange. This situation cannot be reserved unless the user’s lights change.
  • New user without experience in the site. In the sites where Mercado Pago is active, the user will be requested to make a one-time minimum charge. This charge will be reimbursed with the invoice.
  • Pending documentation. A link will pop up for the user to complete the documentation. It applies to MLB, MLV and MCO.

Change a campaign

In case of a default campaign, the following fields can be changed:

  • plan_id
  • status
  • sync_new_listings

In case of a custom campaign, the following fields can be changed:

  • plan_id
  • status
  • name

Example:

curl -X PUT https://api.mercadolibre.com/advertising/product_ads/campaigns/$camp_id?access_token=token
 
{
   “plan_id”: 108,
  "status": "active|paused",
}

Query a campaignr

curl -X GET https://api.mercadolibre.com/advertising/product_ads/campaigns/camp_id?access_token=token
 
{
       "id": 29412881,
       "name": "aName",
       "user_id": 38957177,
       "plan_id": 109,
       "type": "default|custom",
       "sync_new_listings": "enabled|disabled",
       "group_id": "ML|MS|OS_1234,
       "status": "active|paused|hold",
       "date_created": "2017-01-10T18:23:55-04:00",
       "last_updated": "2017-01-10T18:23:55-04:00"
   }

Search campaigns by user

curl -X GET https://api.mercadolibre.com/advertising/product_ads/campaigns/search?user_id=1&offset=0&limit=10&access_token=token
 
{
 
   "paging": {
       "total":1,
       "offset":1,
       "limit":10
   }

   "results": [
       {
           "id": 29412881,
           "name": "aName",
           "user_id": 38957177,
           "plan_id": 109,
           "sync_new_listings": "enabled|disabled",
           "group_id": "ML|MS|OS_1234,
           "status": "active|paused",
           "type": "custom",
           "date_created": "2017-01-10T18:23:55-04:00",
           "last_updated": "2017-01-10T18:23:55-04:00"
       }
   ],

}

Campaign metrics

The campaign metrics within a date range, not exceeding 90 days, can be queried.

Example:

curl -X GET https://api.mercadolibre.com/advertising/product_ads/campaigns/id_campaign/metrics?date_from=2017-01-01&date_to=2017-02-01&access_token=$token

date_from and date_to parameters are mandatory.

Response:

{
 "impressions": 3,
 "clicks": 2,
 "ctr": 0.66, //ratio is a percentage between impressions and clicks.
 "cost": 3 //click total cost within the period in local currency. 
}

Parameters

  • impressions: number of of the Product Ad impressions in the site.
  • clicks: number of clicks the Product Ad had.
  • ctr: percentage between impressions and clicks.
  • cost: click total cost within the period in local currency.

Product Ads

Query a Product Ad associated to a user’s item

curl -X GET https://api.mercadolibre.com/advertising/product_ads/ads/item_id?access_token=$access_token
 
{
   "id": "MLA657316800",
   "campaign_id": 141072850,
   "user_id": 246460082,
   "site_id": "MLA",
   "cpc": 1.73,
   "status": "active",
   "title": "Item de Testeo",
   "price": 200,
   "currency_id": "ARS",
   "permalink": "http://articulo.mercadolibre.com.ar/MLA-657316800-item-de-testeo_JM"
   "thumbnail": "http://mla-s2-p.mlstatic.com/471325-MLA25424154856_032017-I.jpg",
   "picture_id": "471325-MLA25424154856_032017",
   "date_created": "2017-03-10T02:27:32.325+0000",
   "last_updated": "2017-03-10T02:27:32.325+0000"
}

Change the campaign Product Ad

A Product Ad cannot be the same in two campaigns at the same time. In other words, if a user has a default and a custom campaign, the item should be removed from the former in order to be part of the latter. It may also happen that once in the custom campaign the item is forwarded to the default campaign, and so it returns to its place of origin.

The item always belongs to the default campaign at first. When it is sent to a custom campaign, the status will always be active, and it can then be turned to paused.

When a Product Ad is moved from one campaign to another, the relevant metrics will be associated to the new campaign. For example, if a Product Ad had 10 visits in the default campaign and it is moved to a custom campaign, counts will be reset. However, these metrics are saved. If a Product Ad returns to its original campaign, it will continue having the same metrics it had before being moved.

Assign a Product Ad to a campaign

curl -X PUT https://api.mercadolibre.com/advertising/product_ads/ads/$item_id
 
{
 "campaign_id": 22222222
}

Change a Product Ad status in a campaign

curl -X PUT https://api.mercadolibre.com/advertising/product_ads/ads/$item_id?access_token=token
 
{
 "status": "paused" | “active” 
}

Search Product Ad by user

curl -XGET https://api.mercadolibre.com/advertising/product_ads/ads/search?user_id=$user_id&status=$status&offset=$offset&limit=$limit&campaigns=$campaign_id,$campaign_id&title=$title&access_token=$access_token

Parameters

  • user_id: required.
  • status: optional, it is the Product Ad status.
  • title: optional, it refers to the words included in the Product Ad title.
  • campaigns: optional, it works as a multiget that receives several IDs, separated by coma.
  • offset y limit: optional. The limit cannot exceed 100.

Product Ad Metrics

Using multiget, up to 50 Product Ads can be queried in the same request. A date range not exceeding 90 days should also be sent.

Example:

curl -X GET https://api.mercadolibre.com/advertising/product_ads/campaigns/$campaign_id/ads/metrics?ids=MLA12345678,MLA12344321,MLA87654321&date_from=2017-01-01&date_to=2017-02-01&access_token=$access_token
 
[
   {
       "item_id":MLA12345678,
       "clicks": 2,
       "impressions": 3,
       "ctr": 0.6666,
       "cost": 3.0
   }
  {
       "item_id":MLA12344321,
       "clicks": 2,
       "impressions": 3,
       "ctr": 0.6666,
       "cost": 3.0
   }

]

Groups

All campaigns are associated to a group. This grouping enables you to understand if the campaign consists of items from Mercado Libre, Mercado Shops or Official Stores.

These are the conventions used to define the groups:

  • ML: Mercado Libre
  • MS: Mercado Shops
  • OS_: Official Store

Get a particular Group from a user

curl -X GET https://api.mercadolibre.com/advertising/product_ads/groups/$group_id?access_token=$access_token
 
{
  "id": "ML",
  "name": "Mercado Libre",
  "campaigns": {
    "active": 4,
    "paused": 3,
    "hold": 3
  }
}

Parameters

  • id: it identifies the group.
  • name: it represents the group name.
  • campaigns: it includes the number of campaigns in their different statuses; namely, active, paused and hold.

Get all the Groups from a user

curl -X GET https://api.mercadolibre.com/advertising/product_ads/groups?access_token=$access_token
  
[
  {
    "id": "ML",
    "name": "Mercado Libre",
    "campaigns": {
      "active": 1,
      "paused": 2,
      "hold": 3
    }
  },
  {
    
    "id": "OS_456",
    "name": "Official Store",
    "campaigns": {
      "active": 1,
      "paused": 0,
      "hold": 3
    }
  },
  {
    
    "id": "MS",
    "name": "Mercado Shops",
    "campaigns": {
      "active": 3,
      "paused": 0,
      "hold": 4
    }
  }
]

Please rate this

La entrada Product Ads aparece primero en Mercado Libre Developers.

Fulfillment – How to generate a sales receipt

$
0
0

Fulfillment – How to generate a sales receipt

To enhance the buying experience on the Fulfillment platform, sellers may automatically send sales receipts via our API.

To use this feature, the seller should contact the relevant business representative. To be able to operate, it will be mandatory to have a store (branch) in fulfillment warehouse/s.

Note: Bear in mind that the time from shipment creation to sales receipt load via API should not be longer than 60 seconds.

Content

Notification subscription

Bear in mind that the development should be subscribed to “shipments” notifications; you should subscribe from MyApps. Check our documentation to learn how to work with notifications.
You will start receiving notifications upon sales generation on the platform and payment confirmation.

Notification example

{
    "resource": "/shipments/139876",
    "user_id": 1234,
    "topic": "shipments",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}

Query shipment status

With the shipment ID, you will be able to make a GET to the shipments resource and retrieve all the information about it:

curl -H "x-format-new:true" https://api.mercadolibre.com/shipments/{shipment_id}?access_token=ACCESS_TOKEN

Confirmando que o envio tenha status = “handling” y substatus = “invoice_pending”, se procederá a gerar a nota fiscal.

Billing Info

The /shipments resource consists of different resources which offer the information required for the seller to arrange the logistics.
The billing_info resource helps get tax information about the different players involved in product shipment.

curl https://api.mercadolibre.com/shipments/{shipment_id}/billing_info?access_token=ACCESS_TOKEN

Example

GET 
https://api.mercadolibre.com/shipments/26474580996/billing_info?access_token=ACCESS_TOKEN
{
	"receiver": {
		"id": 154808171,
		"document": {
			"id": "CPF",
			"value": "02972404475"
		},
		"additional_documents": []
	},
	"senders": [{
		"id": 168777350,
		"document": {
			"id": "CNPJ",
			"value": "21611372000396"
		},
		"additional_documents": [{
			"id": "IE",
			"value": "421038162111"
		}]
	}],
	"carrier": {
		"document": {
			"id": "CNPJ",
			"value": "20121850000317" 
		},
		"additional_documents": []
	}
}

Considerations:

  • Each one of the “additional_documents” may include a list of other documents which might be required.
  • If you need to get the information of the products to be shipped, go to the shipments/{id}/items e /items/{id} resources.

Send an electronic sales receipt

With all the information available, you will be able to generate an NFE (Nota Fiscal Electrónica) [Electronic Sales Receipt]. Once generated, you should make the following PUT to send it to Mercado Libre.

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d

'[{"data":"(insert the NFE XML)"}]'

https://api.mercadolibre.com/shipments/{shipment_id}/invoices?access_token=YOUR_ACCESS_TOKEN

If the PUT is successful, you will receive a 201 OK; shipment status will subsequently change to “ready_to_ship,” and its sub-status will change to “in_warehouse”.
This could fail due to three reasons:

XML missing body
Result: {“message”:”No invoices present”,”error”:”no_invoices_present”,”status”:400,”cause”:null}

Malformed XML
Result: {“message”:”Malformed XML”,”error”:”malformed_xml”,”status”:400,”cause”:null}

Errors in XML fields
Result: {“message”:”Invalid Invoice File”,”error”:”invalid_invoice”,”status”:400,”cause”:null}

La entrada Fulfillment – How to generate a sales receipt aparece primero en Mercado Libre Developers.


Real Estate Developments

$
0
0

Real Estate Developments

A real estate development (or a real estate undertaking) is a type of real estate publication within Mercado Livre that allows seller to disclose and sell units of a new development, which can be in plans, under construction or built. The unit can have many features, known as variations. Each variation details a possible unit to be sold, with its attributes, plans, etc.

Packages

Seller needs to have a package of the “real estate development” type.
NOTE: To perform tests, you shall send your test user to the support channel in order to be activated as real estate, and also for them to associate such user to a real estate development package.

Each development is associated to a package (1-1 relation) and there cannot be two packages without associated items. There can only be one package with no item per user.

Categories

The integrator must search the right category under the category tree:

https://api.mercadolibre.com/sites/Site_id/categories

The category to be sent must always be a daughter. In the example below, the daughter category is MLA401805, which is the category associated to real estate developments.

Exemplo:
https://api.mercadolibre.com/sites/MLA/categories
https://api.mercadolibre.com/categories/MLA1459 – Inmuebles
https://api.mercadolibre.com/categories/MLA1472 – Departamentos
https://api.mercadolibre.com/categories/MLA1474 – Venta
https://api.mercadolibre.com/categories/MLA401805 – Emprendimientos Inmobiliarios

NOTE: Remember that for Brazil, you must use the MLB site, and not MLA.

Pictures

Pictures of variations (units) must be sent at the pictures API, as shown in the example below (in the one known as POST, but in a separate array).

Note that pictures whose IDs are listed in variations are not shown in the home page of the ad. Since they are pictures of variations, they are shown in the ad description and in the quotation page.

Pictures that are not listed in variations are shown in the in the upper part of the ad home page.

Publish a real estate development

A development must have at least one variation (unit) and all attributes and combinations of variations can be obtained through the category features/attributes, as shown in the example below:

https://api.mercadolibre.com/categories/{category_id}/attributes

A publication contains attributes at the item level, which are features of the development itself, and that are represented under the attributes tag. The title of the development, for example, is represented by the DEVELOPMENT_NAME attribute.

Each variation under the variations array represents a unit in itself. Then, a variation contains attribute_combinations, which would be a unit PK. There cannot be two variations with the same combination of values in the attributes used in attribute_combinations. For example, the UNIT_NAME value can be the differential.

Each variation has the attributes of the unit itself, which are added to the features of the general development.

Example

curl -X POST -H "Content-Type: application/json" -d {

  "title": "Item de prueba - no ofertar - test - Domus 2222",
  "category_id": "MLA401806",
  "price": 157000,
  "currency_id": "USD",
  "available_quantity": 2,
  "buying_mode": "classified",
  "listing_type_id": "gold_premium",
  "condition": "new",
"location": {
    "address_line": "Solís 2222",
    "zip_code": "",
    "neighborhood": {
      "id": "TUxBQk9MSTgzODNa",
      "name": "Olivos"
    },
    "city": {
      "id": "TUxBQ1ZJQ2E3MTQz",
      "name": "Vicente López"
    },
    "state": {
      "id": "TUxBUEdSQWU4ZDkz",
      "name": "Bs.as. G.b.a. Norte"
    },
    "country": {
      "id": "AR",
      "name": "Argentina"
    },
    "open_hours": "",
    "latitude": -34.5101161,
    "longitude": -58.4765109
  },

"description": {"plain_text": "Una descripción de prueba  \n"},
  "pictures": [
    {
      "id": "872895-MLA26491094940_122017",
      "url": "http://mla-s2-p.mlstatic.com/872895-MLA26491094940_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/872895-MLA26491094940_122017-O.jpg",
      "size": "500x312",
      "max_size": "1200x750",
      "quality": ""
    },
    {
      "id": "681776-MLA26491106096_122017",
      "url": "http://mla-s2-p.mlstatic.com/681776-MLA26491106096_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/681776-MLA26491106096_122017-O.jpg",
      "size": "500x236",
      "max_size": "1200x567",
      "quality": ""
    },
    {
      "id": "925912-MLA26491099329_122017",
      "url": "http://mla-s2-p.mlstatic.com/925912-MLA26491099329_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/925912-MLA26491099329_122017-O.jpg",
      "size": "500x236",
      "max_size": "1200x567",
      "quality": ""
    },
    {
      "id": "614472-MLA26491102287_122017",
      "url": "http://mla-s2-p.mlstatic.com/614472-MLA26491102287_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/614472-MLA26491102287_122017-O.jpg",
      "size": "500x312",
      "max_size": "1200x750",
      "quality": ""
    },
    {
      "id": "657426-MLA26491106124_122017",
      "url": "http://mla-s2-p.mlstatic.com/657426-MLA26491106124_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/657426-MLA26491106124_122017-O.jpg",
      "size": "500x312",
      "max_size": "1200x750",
      "quality": ""
    },
    {
      "id": "600555-MLA26491106130_122017",
      "url": "http://mla-s2-p.mlstatic.com/600555-MLA26491106130_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/600555-MLA26491106130_122017-O.jpg",
      "size": "500x312",
      "max_size": "1200x750",
      "quality": ""
    },
    {
      "id": "919897-MLA26491061564_122017",
      "url": "http://mla-s2-p.mlstatic.com/919897-MLA26491061564_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/919897-MLA26491061564_122017-O.jpg",
      "size": "500x353",
      "max_size": "1200x848",
      "quality": ""
    },
    {
      "id": "674837-MLA26491070000_122017",
      "url": "http://mla-s2-p.mlstatic.com/674837-MLA26491070000_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/674837-MLA26491070000_122017-O.jpg",
      "size": "500x353",
      "max_size": "1200x848",
      "quality": ""
    },
    {
      "id": "913036-MLA26491092856_122017",
      "url": "http://mla-s2-p.mlstatic.com/913036-MLA26491092856_122017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/913036-MLA26491092856_122017-O.jpg",
      "size": "500x353",
      "max_size": "1200x848",
      "quality": ""
    }
  ],
  "shipping": {
    "mode": "not_specified",
    "methods": [],
    "tags": [],
    "dimensions": null,
    "local_pick_up": false,
    "free_shipping": false,
    "logistic_type": "not_specified",
    "store_pick_up": false
  },

  "seller_address": {
    "comment": "",
    "address_line": "Av. Libertador 4189",
    "zip_code": "1636",
    "city": {
      "id": "TUxBQ1ZJQ2E3MTQz",
      "name": "Vicente López"
    },
    "state": {
      "id": "AR-B",
      "name": "Buenos Aires"
    },
    "country": {
      "id": "AR",
      "name": "Argentina"
    }
    
  },

  "attributes": [
    {
      "id": "AVAILABLE_PARKING_SLOTS",
      "name": "Cocheras disponibles",
      "value_id": null,
      "value_name": "82",
      "value_struct": null,
      "attribute_group_id": "ADDITIONAL_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características adicionales del desarrollo"
    },
    {
      "id": "HAS_LIFT",
      "name": "Ascensor",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "ADDITIONAL_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características adicionales del desarrollo"
    },
    {
      "id": "PARKING_PRICE_FROM",
      "name": "Precio cochera (Desde)",
      "value_id": null,
      "value_name": "30000",
      "value_struct": null,
      "attribute_group_id": "ADDITIONAL_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características adicionales del desarrollo"
    },
    {
      "id": "HAS_BARBECUE_AREA",
      "name": "Área de parrillas",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_BUSINESS_CENTER",
      "name": "Business center",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_CINEMA_HALL",
      "name": "Área de cine",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_CISTERN",
      "name": "Cisterna",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_COMMON_LAUNDRY",
      "name": "Laundry",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_FIRE_SYSTEM",
      "name": "Sistema contra incendio",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_GUEST_PARKING",
      "name": "Estacionamiento para visitantes",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_GYM",
      "name": "Gimnasio",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_JACUZZI",
      "name": "Jacuzzi",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_JOGGING_TRACK",
      "name": "Pista de jogging",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_LOBBY",
      "name": "Lobby",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_MULTIPURPOSE_ROOM",
      "name": "Salón de usos múltiples",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_PLAYGROUND",
      "name": "Área de juegos infantiles",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_SECURITY",
      "name": "Seguridad",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_STRIP_MALL",
      "name": "Locales comerciales",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_SWIMMING_POOL",
      "name": "Pileta",
      "value_id": "242085",
      "value_name": "Sí",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "HAS_TENNIS_COURT",
      "name": "Cancha de tenis",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "COMOYAMEN",
      "attribute_group_name": "Comodidades y amenities"
    },
    {
      "id": "MAX_BATHROOMS",
      "name": "Cantidad máxima de baños",
      "value_id": null,
      "value_name": "2",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MAX_BEDROOMS",
      "name": "Cantidad máxima de dormitorios",
      "value_id": null,
      "value_name": "3",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MAX_COVERED_AREA",
      "name": "Cantidad máxima de metros cubiertos",
      "value_id": null,
      "value_name": "176 m²",
      "value_struct": {
        "number": 176,
        "unit": "m²"
      },
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MAX_ROOMS",
      "name": "Cantidad máxima de ambientes",
      "value_id": null,
      "value_name": "4",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MAX_TOTAL_AREA",
      "name": "Cantidad máxima de metros totales",
      "value_id": null,
      "value_name": "194 m²",
      "value_struct": {
        "number": 194,
        "unit": "m²"
      },
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MIN_BATHROOMS",
      "name": "Cantidad mínima de baños",
      "value_id": null,
      "value_name": "1",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MIN_BEDROOMS",
      "name": "Cantidad mínima de dormitorios",
      "value_id": null,
      "value_name": "1",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MIN_COVERED_AREA",
      "name": "Cantidad mínima de metros cubiertos",
      "value_id": null,
      "value_name": "40.79 m²",
      "value_struct": {
        "number": 40.79,
        "unit": "m²"
      },
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MIN_ROOMS",
      "name": "Cantidad mínima de ambientes",
      "value_id": null,
      "value_name": "1",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "MIN_TOTAL_AREA",
      "name": "Cantidad mínima de metros totales",
      "value_id": null,
      "value_name": "55.15 m²",
      "value_struct": {
        "number": 55.15,
        "unit": "m²"
      },
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "SELECTED_PACKAGE",
      "name": "Paquete seleccionado",
      "value_id": null,
      "value_name": "1673515",
      "value_struct": null,
      "attribute_group_id": "FIND",
      "attribute_group_name": "Ficha técnica"
    },
    {
      "id": "OPERATION",
      "name": "Operación",
      "value_id": "242075",
      "value_name": "Venta",
      "value_struct": null,
      "attribute_group_id": "MAIN",
      "attribute_group_name": "Principales"
    },
    {
      "id": "OPERATION_SUBTYPE",
      "name": "Subtipo de operación",
      "value_id": "245034",
      "value_name": "Emprendimiento inmobiliario",
      "value_struct": null,
      "attribute_group_id": "MAIN",
      "attribute_group_name": "Principales"
    },
    {
      "id": "PROPERTY_TYPE",
      "name": "Inmueble",
      "value_id": "242062",
      "value_name": "Departamento",
      "value_struct": null,
      "attribute_group_id": "MAIN",
      "attribute_group_name": "Principales"
    },
    {
      "id": "DEVELOPMENT_NAME",
      "name": "Nombre del emprendimiento",
      "value_id": null,
      "value_name": "item de test - no ofertar - DOMUS 2222",
      "value_struct": null,
      "attribute_group_id": "MAIN_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características principales del desarrollo"
    },
    {
      "id": "POSSESSION_DATE",
      "name": "Fecha de entrega",
      "value_id": null,
      "value_name": "Enero 2019",
      "value_struct": null,
      "attribute_group_id": "MAIN_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características principales del desarrollo"
    },
    {
      "id": "POSSESSION_STATUS",
      "name": "Entrega",
      "value_id": "242414",
      "value_name": "Preventa",
      "value_struct": null,
      "attribute_group_id": "MAIN_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características principales del desarrollo"
    },
    {
      "id": "SUITABLE_FOR_MORTGAGE_LOAN",
      "name": "Apto crédito",
      "value_id": "242084",
      "value_name": "No",
      "value_struct": null,
      "attribute_group_id": "MAIN_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características principales del desarrollo"
    },
    {
      "id": "UNITS",
      "name": "Unidades totales",
      "value_id": null,
      "value_name": "66",
      "value_struct": null,
      "attribute_group_id": "MAIN_CHARACTERISTICS_OF_DEVELOPMENT",
      "attribute_group_name": "Características principales del desarrollo"
    }
  ],
  "variations": [
    {
      "price": 158000,
      "attribute_combinations": [
        {
          "id": "ROOMS",
          "name": "Ambientes",
          "value_id": null,
          "value_name": "2",
          "value_struct": null
        },
        {
          "id": "FULL_BATHROOMS",
          "name": "Baños",
          "value_id": null,
          "value_name": "1",
          "value_struct": null
        },
        {
          "id": "PARKING_LOTS",
          "name": "Cocheras",
          "value_id": null,
          "value_name": "0",
          "value_struct": null
        },
        {
          "id": "BEDROOMS",
          "name": "Dormitorios",
          "value_id": null,
          "value_name": "1",
          "value_struct": null
        },
        {
          "id": "UNIT_NAME",
          "name": "Nombre de la unidad",
          "value_id": null,
          "value_name": "110",
          "value_struct": null
        },
        {
          "id": "MODEL_NAME",
          "name": "Nombre del modelo",
          "value_id": null,
          "value_name": "2 AMBIENTES",
          "value_struct": null
        },
        {
          "id": "COVERED_AREA",
          "name": "Superficie cubierta",
          "value_id": null,
          "value_name": "51 m²",
          "value_struct": {
            "number": 51,
            "unit": "m²"
          }
        },
        {
          "id": "TOTAL_AREA",
          "name": "Superficie total",
          "value_id": null,
          "value_name": "57 m²",
          "value_struct": {
            "number": 57,
            "unit": "m²"
          }
        }
      ],
      "available_quantity": 1,
      "sold_quantity": 0,
      "sale_terms": [],
      "picture_ids": [
        "674837-MLA26491070000_122017"
      ]
      
    },
    {
      "price": 161000,
      "attribute_combinations": [
        {
          "id": "ROOMS",
          "name": "Ambientes",
          "value_id": null,
          "value_name": "1",
          "value_struct": null
        },
        {
          "id": "FULL_BATHROOMS",
          "name": "Baños",
          "value_id": null,
          "value_name": "1",
          "value_struct": null
        },
        {
          "id": "PARKING_LOTS",
          "name": "Cocheras",
          "value_id": null,
          "value_name": "0",
          "value_struct": null
        },
        {
          "id": "BEDROOMS",
          "name": "Dormitorios",
          "value_id": null,
          "value_name": "1",
          "value_struct": null
        },
        {
          "id": "UNIT_NAME",
          "name": "Nombre de la unidad",
          "value_id": null,
          "value_name": "3 OESTE",
          "value_struct": null
        },
        {
          "id": "MODEL_NAME",
          "name": "Nombre del modelo",
          "value_id": null,
          "value_name": "1 AMBIENTE",
          "value_struct": null
        },
        {
          "id": "COVERED_AREA",
          "name": "Superficie cubierta",
          "value_id": null,
          "value_name": "40.79 m²",
          "value_struct": {
            "number": 40.79,
            "unit": "m²"
          }
        },
        {
          "id": "TOTAL_AREA",
          "name": "Superficie total",
          "value_id": null,
          "value_name": "55.15 m²",
          "value_struct": {
            "number": 55.15,
            "unit": "m²"
          }
        }
      ],
      "available_quantity": 1,
      
      
      "picture_ids": [
        "913036-MLA26491092856_122017"
      ]
      
      
    }
  ]
  }

https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN

Quotations

A quotation occurs when a potential buyer makes a quotation in an ad of the “real estate development” type.

He chooses the plan and the unit, and, therefrom, he can know the price. Then, Mercado Livre can generate an event that can be sent to the integrator, through a notice. For further information on notices of Mercado Livre, click here.

A quotation is a document containing seller, item and buyer information, at the time the quotation is created. When a user requests a quotation, the item information is “frozen” and kept like this to secure the price of the time in which the quotation was made, if there are any later changes.

For some methods below, the integrator must send a caller.type variable to identify who is calling the action. It may be seller or user. In general, for development applications, such person will be seller.

Create a quotation

A HTTP POST must be used in the following format:

curl -X POST -d ‘{
“user_id”: $buyerId
“item_id”: $itemId
“variation_id”:$realStateDevelopmentVariationId
}’ ‘htts://api.mercadolibre.com/quotations?access_token=$access_token’

Delete a quotation

A HTTP PUT must be used in the following format:

curl -X PUT -d ‘{
“delete” : true
}’ ‘htts://api.mercadolibre.com/quotations/$quotationId?access_token=$access_token&caller.type=$caller.type’

Search a quotation

To search this number, use a HTTP GET in the following format:

curl https://api.mercadolibre.com/quotations/$quotationId?caller.type=$caller.type&access_token=$access_token’

Search quotations per item id

To search this number, use a HTTP GET in the following format:

https://api.mercadolibre.com/quotations/items_ids?access_token=$access_token&query=$query’’

This variable supports multiple ids. Example:

https://api.mercadolibre.com/quotations/items_ids?access_token=myAccessToken&query=itemId1,Itemid2,Itemid3’

Search report of quotations per seller

To search this number, use a HTTP GET in the following format:

https://api.mercadolibre.com/quotations/report?access_token=$access_token&seller.id=$seller.id

Search number of quotations per seller

To search this number, use a HTTP GET in the following format:

https://api.mercadolibre.com/quotations/report?access_token=$access_token&seller.id=$seller.id

La entrada Real Estate Developments aparece primero en Mercado Libre Developers.

Moderations

$
0
0

Moderations

We developed an API that helps the integrator query the elements affected by some type of moderation, i.e., which have not passed some platform filters. For example, listings which -for some reason- were pending review due to price, description, etc., or questions including contents which do not pass the filter. In this way, the integrator will be able to see certain situations which will be only viewed by the seller on the platform.

Contends

Query infractions

With the GET, you can query the elements affected by some type of moderation.

GET https://api.mercadolibre.com/moderations/infractions/{user_id}?access_token={access_token}

Example

GET https://api.mercadolibre.com/moderations/infractions/305860144?access_token=ACCESS_TOKEN

Query infractions with filter

You can make the same query with some filters, such as, year and limit of records to be displayed by the API.

GET https://api.mercadolibre.com/moderations/infractions/{user_id}?year_month=201711&limit=50&offset=0&access_token={access_token} 

Example

GET https://api.mercadolibre.com/moderations/infractions/305860144?year_month=201711&limit=50&offset=0&access_token=ACCESS_TOKEN

Response

{
    "message": "1 items with infractions since December 2017",
    "seller": {
        "id": 305860144,
        "nickname": "TESTDD9J81ZY"
    },
    "paging": {
        "limit": 20,
        "offset": 0,
        "total": 1
    },
    "results": [
        {
            "element_id": "MLB997546581",
            "element_type": "ITM",
            "infraction_date": "2018-03-21T09:59:30.480-04:00",
            "type": "infraction",
            "reason": "Mal categorizado - Categoría - Titulo",
            "current_status": "under_review",
            "sub_status": [
                "waiting_for_patch"
            ]
        }
    ]
}

Considerations

limit Paging limit (Default = 20, <= 50)
offset Paging offset (Default = 0, <=50)
year_month Starting year and month to get infractions (Example: 201711 (year and month))

Status list

  • Type of element (results.element_type)
  • – ITM (item) – It means that the element is a listing
    – QUE (question) – It means that the element can be a question or a response to the listing.

  • Type of infraction (results.type)
  • – At this point, only the “infraction” type will be displayed.

  • Element current status (results.current_status)
  • – The possible statuses to be displayed are: under_review, paused, active.

  • List of current element sub-statuses (results.sub_status)
  • – The sub-status can be displayed empty and the following can also be displayed.

  • Status “under_review”
  • – waiting_for_patch, suspended, held, banned, pending_documentation, forbidden, suspended_for_prevention.

  • Status “paused”
  • – freezes, suspended

    La entrada Moderations aparece primero en Mercado Libre Developers.

Protected: Working with claims

Billing data

$
0
0

Billing data

To bill a sale you need to have the buyer’s data which are available in Orders resource, more specifically, in /orders/order_id/billing_info.

Contents

Query billing data

To get the information about a buyer’s billing data contained in an order, make the following call.

Call

GET https://api.mercadolibre.com/orders/$orderId/billing_info?access_token={access_token}

Example

GET https://api.mercadolibre.com/orders/1691789796/billing_info?access_token=ACCESS_TOKEN

Response (these are examples of persons: MLB and MLA Individual/Legal Entity)

MLA – Indivudual

Order Id: 1691789796
User id: 316440831

{
  "billing_info": {
    "additional_info": [
      {
        "type": "STREET_NAME",
        "value": "Arias"
      },
      {
        "type": "ZIP_CODE",
        "value": "1430"
      },
      {
        "type": "STREET_NUMBER",
        "value": "3571"
      },
      {
        "type": "CITY_NAME",
        "value": "Saavedra"
      },
      {
        "type": "LAST_NAME",
        "value": "Gomez Blanco"
      },
      {
        "type": "SITE_ID",
        "value": "MLA"
      },
      {
        "type": "COMMENT",
        "value": "7b"
      },
      {
        "type": "DOC_NUMBER",
        "value": "32659430"
      },
      {
        "type": "DOC_TYPE",
        "value": "DNI"
      },
      {
        "type": "STATE_NAME",
        "value": "Capital Federal"
      },
      {
        "type": "FIRST_NAME",
        "value": "María Lupita"
      }
    ],
    "doc_number": "32659430",
    "doc_type": "DNI"
  }
}

MLA – Legal Entity

Order Id: 1691801481
User id: 316440831

{
  "billing_info": {
    "additional_info": [
      {
        "type": "DOC_NUMBER",
        "value": "30703088534"
      },
      {
        "type": "ZIP_CODE",
        "value": "1430"
      },
      {
        "type": "STATE_REGISTRATION",
        "value": "30703088534"
      },
      {
        "type": "TAXPAYER_TYPE_ID",
        "value": "IVA Responsable Inscripto"
      },
      {
        "type": "BUSINESS_NAME",
        "value": "Mercado Libre S.R.L"
      },
      {
        "type": "CITY_NAME",
        "value": "Saavedra"
      },
      {
        "type": "STREET_NAME",
        "value": "Arias"
      },
      {
        "type": "STREET_NUMBER",
        "value": "SN"
      },
      {
        "type": "COMMENT",
        "value": "7b"
      },
      {
        "type": "DOC_TYPE",
        "value": "CUIT"
      },
      {
        "type": "STATE_NAME",
        "value": "Capital Federal"
      },
      {
        "type": "SITE_ID",
        "value": "MLA"
      }
    ],
    "doc_number": "30703088534",
    "doc_type": "CUIT"
  }
}

Types and values for additional info

These are the possible types/values (type/value en additional_info) for different players:
MLB Individual

  • first_name: buyer’s name/s
  • last_name: buyer’s last name
  • doc_type: type of document
  • doc_number: number of document
  • zip_code: buyer’s zip code
  • street_name: buyer’s billing address street name
  • street_number: buyer’s billing address street number
  • – Possible values: any string, “SN” for street without number

  • comment: additional comment on buyer’s billing address
  • state_name: buyer’s billing address state
  • city_name: buyer’s billing address city

MLB Legal Entity

  • business_name: Buying legal entity name
  • taxpayer_type_id: legal entity VAT position
  • – Possible values: between “taxpayer” (tax payer), “not_taxpayer” (non tax payer)

  • state_registration:
  • – doc_type: type of document
    – doc_number: number of document
    – zip_code: buyer’s zip code

  • street_name: buyer’s billing address street name
  • street_number: buyer’s billing address street number
  • – Possible values: any string, “SN” for street without number

  • comment: additional comment on buyer’s billing address
  • state_name: buyer’s billing address state
  • city_name: buyer’s billing address city

MLA Individual

  • first_name: buyer’s name/s
  • last_name: buyer’s last name
  • doc_type: type of document
  • doc_number: number of document
  • zip_code: buyer’s zip code
  • street_name: buyer’s billing address street name
  • street_number: buyer’s billing address street number
  • – Possible values: any string, “SN” for street without number

  • comment: buyer’s billing address floor
  • state_name: buyer’s billing address state
  • city_name: buyer’s billing address city

MLA Legal Entity

  • business_name: Buying legal entity name
  • taxpayer_type_id: legal entity VAT position
  • – Possible values: between “monotax” (non-VAT taxpayer) and “VAT”

  • state_registration:
  • – doc_type: type of document
    – doc_number: number of document
    – zip_code: buyer’s zip code

  • street_name: buyer’s billing address street name
  • street_number: buyer’s billing address street number
    – Possible values: any string, “SN” for street without number
  • comment: buyer’s billing address floor
  • state_name: buyer’s billing address state
  • city_name: buyer’s billing address city

DOC_TYPE’s

  • MLA
  • – DNI
    – CUIT

  • MLB
  • – CPF
    – CNPJ

  • MLC
  • – RUT

  • MCO
  • – CC
    – CE
    – NIT

  • MLV
  • – CI
    – RIF
    – Pasaporte

  • MLU
  • – CI
    – RUT

  • MPE
  • – DNI
    – CE

    La entrada Billing data aparece primero en Mercado Libre Developers.

Viewing all 99 articles
Browse latest View live