api-protos
Public interface definitions of Solutionreach APIs.
Overview
Solutionreach APIs use Protocol Buffers version 3 (proto3) as their
Interface Definition Language (IDL) to define the API interface and the structure of the payload messages. The
same interface definitions are used for both REST and RPC versions of the API, which can be accessed over different
wire protocols.
Repository Structure
This repository uses a directory hierarchy that reflects the Solutionreach API product structure. In general, every API namespace
has its own root directory with subdirectories for each service in that namespace and additional subdirectories for each major
version of a service. The proto package names exactly match the directory: this makes it easy to locate the proto definitions
and ensures that the generated client libraries have idiomatic namespaces in most programming languages.
Dependencies
- protoc - The protocol buffer compiler.
- protoc-gen-go - A plugin for the Google protocol buffer compiler to generate Go code.
- protoc-go-inject-tag - Inject custom tags into generated protobuf files.
- protoc-gen-grpc-gateway - A plugin for the Google protocol buffer compiler to read gRPC service definitions and generate a reverse-proxy REST server (gRPC->JSON translation).
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get github.com/favadi/protoc-go-inject-tag