?????? ????? ??????????? ???? ?????????? ? ???????24. ??? ????? ??? ????????? client_id ? client_secret. ??? ???? ???????????? ??? ???????????.

?????????? ???? ?????????? ????????? ????? ? ????????? ??????? "?????????? ?????????? ?????? API"

?????? ?? ?????????? ????? ???? ?????, ? ?????????? ??? ?? ?????.
?????? ???????????? ? ???????24
????????? ????????????????????()
???? ?? (AccessToken = "" ??? RefreshToken = "" ??? RefreshTime = ????(1, 1, 1)) ?????
???????;
?????????;
ssl = ????? ????????????????????OpenSSL(
????? ?????????????????Windows(
???????????????????????Windows.????????),
????? ????????????????????????????????Windows());
?????????? = ????? HTTP??????????(
????????????24, //"??????.bitrix24.ru",
, // ????
"
Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
", // ????????????
"123456", // ??????
, // ??????
5, // ??????? ? ????????
ssl // ?????????? HTTPS ??????????
);
????????? = ????? ????????????;
?????? = ????? HTTP??????("oauth/authorize/?client_id=" + <strong>client_id</strong>, ?????????);
????? = ??????????.????????(??????);
// ???? ??? ???????????????
???? ?????.???????????? = 302 ?????
//? Location ????? code
????????? = ???????????????????Get??????(?????.?????????.????????("Location"));
Cookie = ?????.?????????.????????("Set-Cookie");
??? = ????????????;
???? ?????????.????????("code", ???) ?????
// ????????? ??? ???????? access_token ? refresh_token
?????????? = ????? HTTP??????????(
"oauth.bitrix.info",
, // ????
, // ????????????
, // ??????
, // ??????
5, // ??????? ? ????????
ssl // ?????????? HTTPS ??????????
);
??????.???????????? = "oauth/token" + ???????????????????????????(???);
??????.?????????.????????("Cookie", Cookie);
????? = ??????????.????????(??????);
???? ?????.???????????? <> 200 ?????
????????????????? "?????? ??? ????????? access_token";
?????
// ????????? ?????????? json
json = ?????.?????????????????????();
?????? = ????? ??????JSON;
??????.????????????????(json);
?????????????? = ?????????JSON(??????);
// ???????? ????????? ???????????
AccessToken = ??????????????.access_token;
RefreshToken = ??????????????.refresh_token;
RefreshTime = ???????????() + ??????????????.expires_in;
?????????;
?????
????????????????? "?????? ??? ???????????, ??? ????????? code";
?????????;
?????????;
??????????????
??????? ???????????????????????????(???)
// ??????? ????????? ? ?????? Get ???????
??????? "/?" + "grant_type=authorization_code" + "&" +
"client_id=" + client_id + "&" +
"client_secret=" + client_secret + "&" +
"code=" + ???;
????????????
client_id ? client_secret ???????? ??? ??????????? ?????????? ? ???????24.
??????? "???????????????????Get??????" ?? ?????? ???? ??????????????1=????????1&????????2=????????2 ?????????? ?????????, ??? ???? = ????????, ? ???????? = ????????
?????? ??????? ???????? ???????
????????????? = "fields[NAME]=" + ??? + "&fields[SECOND_NAME]=" + ???????? + "&fields[LAST_NAME]=" + ??????? +
"&fields[ADDRESS_CITY]=" + ???????????????????.????? +
"&fields[COMMENTS]=" + ???????????????????.?????????????????? +
"&fields[EMAIL][0][VALUE_TYPE]=WORK&fields[EMAIL][0][VALUE]=" + ???????????????????.Email +
"&fields[ASSIGNED_BY_ID]=" + ??????????????? + "&fields[TYPE_ID]=CLIENT" +
"&fields[PHONE][0][VALUE_TYPE]=WORK&fields[PHONE][0][VALUE]=" + ???????????????????.???????;
??? = ?????????REST??????("crm.contact.add", ?????????????, "");
// ??????? ??? ??????????
?????? = ????? ??????JSON;
??????.????????????????(???);
?????? = ?????????JSON(??????);
???? ??????.????????("result", ????????????????) ?????
????????("??????? ????????!");
?????
????????????????? "?????? ??? ?????????? ?????? ????????!";
?????????;
??? ?????? ?????????REST??????:
??????? ?????????REST??????(REST??????, ?????????, ????)
??????????????();
ssl = ????? ????????????????????OpenSSL(
????? ?????????????????Windows(
???????????????????????Windows.????????),
????? ????????????????????????????????Windows());
?????????? = ????? HTTP??????????(
????????????24,
, // ????
, // ????????????
, // ??????
, // ??????
5, // ??????? ? ????????
ssl // ?????????? HTTPS ??????????
);
????????? = ????? ????????????;
?????????.????????("Cookie", Cookie);
???? ????????? = "" ?????
?????? = ????? HTTP??????("rest/" + REST?????? + "?auth=" + AccessToken, ?????????);
?????
?????? = ????? HTTP??????("rest/" + REST?????? + "?auth=" + AccessToken + "&" + ?????????, ?????????);
?????????;
??????.??????????????????????(????);
????? = ??????????.????????(??????);
??????? ?????.?????????????????????();
????????????
?? ? ?????????????? ????????? ??????????????:
????????? ??????????????()
// ???????? ????? ?? ??????????
???? RefreshTime = ????(1, 1, 1) ?????
????????????????????();
???????;
?????????;
???? RefreshTime - 5 < ???????????() ?????
ssl = ????? ????????????????????OpenSSL(
????? ?????????????????Windows(
???????????????????????Windows.????????),
????? ????????????????????????????????Windows());
// ???????? ?????
?????????? = ????? HTTP??????????(
"oauth.bitrix.info",
, // ????
, // ????????????
, // ??????
, // ??????
5, // ??????? ? ????????
ssl // ?????????? HTTPS ??????????
);
????????? = ????? ????????????;
?????????.????????("Cookie", Cookie);
?????? = ????? HTTP??????("oauth/token" + ??????????????????????????(), ?????????);
????? = ??????????.????????(??????);
???? ?????.???????????? <> 200 ?????
????????????????? "?????? ??? ????????? access_token";
?????
// ????????? ?????????? json
json = ?????.?????????????????????();
?????? = ????? ??????JSON;
??????.????????????????(json);
?????????????? = ?????????JSON(??????);
// ???????? ????????? ???????????
AccessToken = ??????????????.access_token;
RefreshToken = ??????????????.refresh_token;
RefreshTime = ???????????() + ??????????????.expires_in;
?????????;
?????????;
??????????????
??????? ??????????????????????????()
??????? "/?" + "grant_type=refresh_token" + "&" +
"client_id=" + client_id + "&" +
"client_secret=" + client_secret + "&" +
"refresh_token=" + RefreshToken;
????????????
??? ???? ?? ??????? ???????. ???? ?? ??????? ?????????? ???????????????? ????. ? ??? ???????? ???????? ????????????? ???????? ????????????, ??? ??????? ????????????. ? ?? ???, ???????? ???????? ? fields[ASSIGNED_BY_ID].