Расширенное отображение профиля

Отображение кнопок в профиле организации является обязательным требованием использования API 2ГИС.

Кнопки

НазваниеКогда показываемШаблон URL
Маршрут доЕсть “point”:{“lon”,“lat”}https://2gis.ru/city/{{ project_id }}/center/{{ lon }}%2C{{ lat }}/zoom/17/routeTab/to/{{ lon }}%2C{{ lat }}%E2%95%8E{{ name|url_encode }}?
Маршрут отЕсть “point”:{“lon”,“lat”}https://2gis.ru/city/{{ project_id }}/center/{{ lon }}%2C{{ lat }}/zoom/17/routeTab/from/{{ lon }}%2C{{ lat }}%E2%95%8E{{ name|url_encode }}?utm_source=profile&utm_medium=route_from&utm_campaign=partnerapi
Найти входЕсть “point”:{“lon”,“lat”}https://2gis.ru/city/{{ project_id }}/firm/{{ id }}/entrance/center/{{ lon }}%2C{{ lat }}/zoom/17?utm_source=profile&utm_medium=entrance&utm_campaign=partnerapi
ФотографииЕсть “flags”:{“photos”} и его значение truehttps://2gis.ru/city/{{ project_id }}/firm/{{ id }}/photos/{{ id }}/center/{{ lon }}%2C{{ lat }}/zoom/17?utm_source=profile&utm_medium=photo&utm_campaign=partnerapi
ОтзывыВсегдаhttps://2gis.ru/city/{{ project_id }}/firm/{{ id }}?utm_source=profile&utm_medium=review&utm_campaign=partnerapi
Услуги и ценыЕсть в “external_content”: [{“url”,“type”}], type принимает значение “booklet”{{ url }}?utm_source=profile&utm_medium=booklet&utm_campaign=partnerapi

Шаблон

Используя bootstrap и twig, мы получим следующий шаблон:

<div class="container">
    {% set baseUrl = "https://2gis.ru/city/{#project_id}" %}
            {% set centerPart = "center/{#lon}%2C{#lat}/zoom/17" %}
            {% set booklet_url = "" %}
            {% for external_content in content %}
            {% if content.type == "booklet" %}
            {% set booklet_url = content.url %}
            {% endif %}
            {% endfor %}

            <div class="btn-group" role="group" aria-label="...">
                <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/{{ centerPart }}/routeTab/from/{{ point.lon }}%2C{{ point.lat }}%E2%95%8E{{ name|url_encode|replace({'/', '\xA6'}) }}?utm_source=profile&utm_medium=route_from&utm_campaign=partnerapi" role="button" title="Проезд на автомобиле или общественном транспорте от {{ name }}">
                    <span class="glyphicon glyphicon-road" aria-hidden="true"></span> Маршрут от
                </a>
                <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/{{ centerPart }}/routeTab/to/{{ point.lon }}%2C{{ point.lat }}%E2%95%8E{{ name|url_encode|replace({'/', '\xA6'}) }}?utm_source=profile&utm_medium=route_to&utm_campaign=partnerapi" role="button" title="Проезд на автомобиле или общественном транспорте до {{ name }}">до</a>
            </div>
            {% if flags.photos %}
            <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/firm/{{ id }}/photos/{{ id }}/{{ centerPart }}?utm_source=profile&utm_medium=photo&utm_campaign=partnerapi" role="button" title="Фотографии услуг и продукции {{ name }}">
                <span class="glyphicon glyphicon-camera" aria-hidden="true"></span> Посмотреть фотографии
            </a>
            {% endif %}
            {% if booklet_url %}
            <a target="_blank" class="btn btn-default" href="{{ booklet_url }}?utm_source=profile&utm_medium=booklet&utm_campaign=partnerapi" role="button" title="Посмотреть список товаров, услуг и цен фирмы {{ name }}">
                <span class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></span> Услуги и цены
            </a>
            {% endif %}
            <a target="_blank" class="btn btn-default" href="{{ baseUrl }}/firm/{{ id }}/entrance/{{ centerPart }}?utm_source=profile&utm_medium=entrance&utm_campaign=partnerapi" role="button" title="Вход в организацию {{ name }}">
                <span class="glyphicon glyphicon-home" aria-hidden="true"></span> Найти вход
            </a>
</div>

Пример

Например, для фирмы Венеция (141266769589326)

Запрос: http://catalog.api.2gis.ru/2.0/catalog/branch/get?key=123456789&id=141266769589326&fields=items.point,items.flags,items.external_content

Получаем ответ API и формируем вот такой набор кнопок: