Developer Highlights (Summer '21 Release)

We’re excited to announce a huge round of developer updates for the Summer ‘21 Release. These updates include brand new Streams API, Connectors API, and a Developer Preview for Sites. Read on for more information about these updates and how to take advantage of them in your integrations!

What’s New?

Apps with Configuration

You can now build more powerful apps for the App Directory with the new Apps with Configuration feature, which allows you to add Configuration Resources to apps that get applied upon installation. Configuration resources are the JSON representation of settings in your account, like Entity Type definitions, Conversion Actions, Answers Config, and more. You can see a full list of resources in our developer documentation here and can learn more about how configuration as code works in our dedicated track here.

For example, you can now create an app that:

  • Adds a new entity type with custom fields to an account and then syncs data to that entity type from another source.
  • Installs premade Answers configurations and front ends to have a purpose-built experience working out of the box
  • Creates a new Data Connector that syncs data from a third party source into the Knowledge Graph

For more information on how to create an app with configuration, check out our Create an App guide.

Sites Developer Preview

With the Summer 21’ Release, we are excited to present a Developer Preview for Yext Sites. Sites lets development teams quickly build sites that scale while having full control and flexibility over the building process.

Sites uses a unique streaming static generator with the capability of building hundreds of thousands of pages in parallel and comes equipped with advanced developer and collaboration tools.

Join the waitlist to be a part of our Developer Preview and try Sites for 6 months with unlimited builds by filling out this form!

Streams API & Webhooks

Streams is the cutting-edge architecture developed to streamline the delivery of data from the Knowledge Graph to our consumer-facing systems, like Answers, Pages, and Listings. With the Summer ’21 Release, we are happy to announce that we will be granting developers access to this same infrastructure that delivers data downstream to Yext’s products.

Users can configure a specific list of fields that they want to access from the Knowledge Graph with Streams Endpoints. A Streams Endpoint is how an external user is able to interface with Streams so that they can take advantage of its entire infrastructure. Developers can receive data in a pull or push interaction via the following:

  • Streams API: an extremely low latency, consumer-grade API that is optimized for fetching the content you need to publish on consumer experiences from your Knowledge Graph.

  • Streams Webhook: a method of receiving proactive notifications about changes to the data in your Streams Endpoint in a push data flow.

Want to learn more about Streams? Check out our Streams Developer Guide.

Connectors API

The Connectors API is a new API for pushing data into Knowledge Graph via the Connectors framework. Developers can leverage these endpoints to submit JSON data in any structure, without first needing to transform the data into the Yext Entities structure.

Using Connectors, users can then view the raw request JSON, extract specific elements, transform the data and then map it to fields in Yext. Users can save these Connector configurations so that any subsequent POST requests made to the Connectors API can be processed in the same way.

Want to learn more about building a Push to API Connector? Check out our Push to API Connector Guide.

Review Submission Live API

The Review Submission Live API is a new consumer-grade API which can be leveraged to create, update, and delete First Party Reviews on any entity type.

Developers can leverage these endpoints to submit reviews from consumer-facing applications; this means developers can build out custom flows to allow users to leave reviews, then submit these reviews via API to Yext.

See the Live API documentation for Review Submission Live API for more details.

Analytics Catalog API

The Analytics API Catalog is a new endpoint that allows users to programmatically return metadata around the metrics available in the Analytics API.

This new endpoint will help users understand what they can query in the Analytics API and when complete data for each metric is available. The endpoint will show what metrics are available for their account as well as the Completed Date for each metric.

{
    "meta": {
        "uuid": "6471d2a9-a0bd-4c01-a8b9-04071d75e4a1",
        "errors": []
    },
    "response": {
        "metrics": [
            {
                "id": "FACEBOOK_POST_IMPRESSIONS",
                "completedDate": "2021-03-20"
            },
            {
                "id": "GOOGLE_SEARCH_VIEWS",
                "completedDate": "2021-03-19"
            },
            {
                "id": "ANSWERS_SEARCHES_WITH_CLICKS",
                "completedDate": "2021-03-23"
            },
            {
                "id": "ANSWERS_SEARCHES",
                "completedDate": "2021-03-23"
            },
            {
                "id": "ANSWERS_SEARCHES_WITH_KG_RESULTS",
                "completedDate": "2021-03-23"
            },
            {
                "id": "ANSWERS_CLICKS",
                "completedDate": "2021-03-23"
            },
            {
                "id": "CONVERSION_RATE",
                "completedDate": "2021-03-23"
            }
        ]
    }
}

To learn more, see the Analytics API documentation.

What’s Changing?

Limiting Access to Legacy Location Endpoints in Live API

Starting August 25th, 2021, Yext will discontinue access to certain legacy Location Live API endpoints for all customers who have not used these endpoints on or after January 1st, 2021. Customers who have made requests to any of the listed Live API endpoints on or after January 1st, 2021 will not lose access to these endpoints, and will therefore be unaffected.

Wherever possible, Yext recommends updating Live API integrations to use the corresponding Entities Live API endpoints instead of the legacy Location Live API endpoints.

To learn more about this change, or to see the specific Live API endpoints that are impacted, check out our Hitchhikers Community post.

Querying Past Completed Date in API

Users can now query for all of the data available within the Yext platform, regardless of if it’s beyond the Completed Date, via the Analytics API!

Our goal is always to show customers the most complete and accurate data possible while still providing them with the functionality needed to perform any analysis necessary. To accomplish this, Completed Date is baked into each of the dynamic date range filters accessible within Report Builder and Dashboards.

And while we maintain that goal, we’re giving more flexibility to users who’d like to have access to their data from Yext as soon as possible, regardless of if it is complete or not. To access this new feature, simply make a post request to the existing Analytics endpoints with a V parameter set to 20210515 or higher.

https://api.yext.com/v2/accounts/me/analytics/reports?api_key={YOUR_API_KEY}&v=20210515

Activity Log Now Returns User Name and Email

Activity Log now returns the User Name and Email of the user related to any activity in the platform when that activity is related to a User, i.e. not a system change.

Sample Output of Activity Trigger by User:

  {
      "timestamp": 1621344996000,
      "locationId": "6882680156723158061",
      "details": "Product Lists field updated",
      "content": "",
      "type": "PROFILE_UPDATE",
      "actor": "USER",
      "actorDetails": {
        "name": "David Wen",
        "email": "dwen+log2@yext.com"
      }
    }

Sample Output of Activity Trigger by Yext System:

  {
      "timestamp": 1621345667000,
      "locationId": "6882680156723158061",
      "details": "Product Lists field updated",
      "content": "",
      "type": "PROFILE_UPDATE",
      "actor": "YEXT_SYSTEM",
      "actorDetails": {
        "name": "",
        "email": ""
      }
    }

To learn more, see the API documentation for the Activity Log API Endpoint.