jet.com партнер API-Rest, JSON, RestSharp?


У меня есть система управления заказами, написанная в VB.net. теперь мне нужно использовать jet.com Партнерский api для интеграции с ними. Я уверен, что это не трудно для вас, веб-экспертов, но у меня нет большого опыта в спокойных вызовах API.

Документация , которая у меня есть , гласит:

Jet API Security Flow
Следующий поток безопасности является предполагаемым потоком для доступа к функциям API Jet, которые требуют авторизации:

Пользователь отправляет его / ее учетные данные по SSL / TLS к конечной точке Jet API /api/Token через HTTPS POST запрос, как показано ниже:

POST https://merchant-api.jet.com/api/Token HTTP/1.1 
Host: merchant-api.jet.com 
Content-Type: application/json; charset=utf-8 
Content-Length: 42 

{"user":"dummy@jet.com","pass":"XXXXXXXX"} 

/api/Token конечная точка-это единственная точка аутентификации для пользователей Jet API. Поэтому он не требует ни аутентификации, ни авторизации.

Если пользователь успешно прошел аутентификацию, маркер безопасности (носитель) возвращается обратно по протоколу SSL / TLS, содержащему утверждения, связанные с пользователем, закодированные и подписанные:

HTTP/1.1 200 OK 
Cache-Control: no-store 
Pragma: no-cache 
Content-Length: XXX 
Content-Type: application/json; charset=utf-8 
Server: Microsoft-IIS/8.0 
Set-Cookie: auth0=XXX...XX; path=/; secure; httponly 
Server: nginx/1.7.1 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Wed, 06 Aug 2014 13:50:17 GMT 
Set-Cookie: SERVERID=03-4BRURJ6FFLMCK; path=/ 

{"id_token":"XXX...XX","access_token":"XXX...XX","token_type":"bearer"} 

Токен содержится в узле JSON id_token это должно использоваться в следующих HTTP-запросах к Jet API в качестве средства авторизации (см. статью 4 ниже) до тех пор, пока он не истечет или не будет обновлен.

Если не аутентифицируется в конечной точке / api / Token, пользователь получает ответ HTTP с заголовком HTTP/1.1 401 Unauthorized. Имея вышеупомянутый маркер носителя, пользователь должен затем предоставить его при вызове других конечных точек Jet API как часть запросов HTTPS в заголовке авторизации. Этот заголовок имеет следующую форму: авторизация: предъявитель Если пользователь имеет соответствующие разрешения, связанные с маркером, он / она будет иметь доступ к конечным точкам и / или определенным данным, назначенным этими разрешениями. Запрос будет выполнен, и ответ будет определен соответствующей вызываемой функцией API, в противном случае HTTP / 1.1 401 несанкционированный ответ будет возвращен обратно.

Токены на предъявителя, предоставляемые пользователям Jet API, имеют ограниченный срок службы. Однако до тех пор, пока срок действия токена не истечет, токен носителя будет полностью заменять учетные данные пользователя, поэтому токен должен обрабатываться как частный криптографический материал.

Может ли кто-нибудь показать мне пример кода, чтобы сделать это в C#? Я думал, что использование RestSharp было бы полезно, но у меня нет никакого опыта в этом.

Для их API мне нужно:

  1. авторизация моих вызовов API
  2. загрузка продуктов в JSON
  3. получение информации о заказе
  4. и т. д.

Итак, я застрял на первом этапе, разрешая свои вызовы API.

1 3

1 ответ:

Привет вы можете использовать этот пример кода, я сгенерировал этот код, используя Эту ссылку

var client = new RestClient("https://merchant-api.jet.com/api/token/");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "xxxx");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Basic xxxx");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"user\":\"xxxx\",\"pass\":\"xxxx\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);