xyp.gerege.mn REST API ашиглах заавар
Бүх API endpoint-ууд HTTP Basic Auth шаарддаг. Admin-аас авсан client_id болон client_secret-ээ ашиглана.
Authorization: Basic base64(client_id:client_secret)
| Method | Endpoint | Тайлбар |
|---|---|---|
| POST | /v1/citizen/authenticate | Иргэн баталгаажуулах (РД + утас) |
| POST | /v1/org/authenticate | Байгууллага баталгаажуулах (регистр + захирлын РД) |
| POST | /v1/citizen/lookup | Иргэний мэдээлэл хайх |
| POST | /v1/citizen/verify | Иргэний нэр тулгах |
| POST | /v1/org/lookup | Байгууллагын мэдээлэл хайх |
| POST | /v1/org/verify | Байгууллагын нэр тулгах |
/v1/citizen/authenticateИргэний регистрийн дугаар + утасны дугаараар баталгаажуулна. Амжилттай бол иргэний зураг болон үндсэн мэдээлэл буцаана.
curl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/citizen/authenticate \
-H "Content-Type: application/json" \
-d '{"reg_no": "МА74101813", "phone": "99102856"}'{
"authenticated": true,
"citizen": {
"reg_no": "ма74101813",
"civil_id": "111949212017",
"last_name": "Цэнддорж",
"first_name": "ЭРДЭНЭБАТ",
"gender": "Эрэгтэй",
"birth_date": "1974-10-18 00:00",
"image": "/9j/4AAQSkZJRg..."
}
}{
"authenticated": false,
"reason": "citizen not found"
}/v1/org/authenticateБайгууллагын регистр + ceo_reg_no хүлээж авна.
Шалгах логик:
ceo_reg_no нь дараах хоёрын аль нэгтэй таарахад баталгаажна:
curl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/org/authenticate \
-H "Content-Type: application/json" \
-d '{"reg_no": "6235972", "ceo_reg_no": "ма74101813"}'{
"authenticated": true,
"organization": {
"reg_no": "6235972",
"name": "Гэрэгэ системс",
"type": "Хязгаарлагдмал хариуцлагатай компани",
"ceo": "Нацагдорж Энхжаргал",
"ceo_reg_no": "уш72060800",
"ceo_position": "Гүйцэтгэх Захирал"
},
"owner": {
"name": "цэнддорж эрдэнэбат",
"reg_no": "ма74101813",
"type": "Иргэн",
"share_percent": "42"
}
}{
"authenticated": false,
"reason": "ceo_reg_no does not match director or largest shareholder"
}/v1/citizen/lookupРегистрийн дугаараар иргэний бүрэн мэдээлэл хайна.
curl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/citizen/lookup \
-H "Content-Type: application/json" \
-d '{"reg_no": "МА74101813"}'{
"found": true,
"citizen": {
"reg_no": "ма74101813",
"last_name": "Цэнддорж",
"first_name": "ЭРДЭНЭБАТ",
"surname": "Харчин",
"gender": "Эрэгтэй",
"birth_date": "1974-10-18 00:00",
"birth_place": "Улаанбаатар,Сүхбаатар",
"nationality": "Халх",
"civil_id": "111949212017",
"passport_num": "PE 0305079",
"passport_address": "УБ, Хан-Уул, ...",
"image": "/9j/4AAQSkZJRg..."
}
}/v1/citizen/verifyРД + нэрийг тулгаж шалгана. Зөвхөн match true/false буцаана.
curl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/citizen/verify \
-H "Content-Type: application/json" \
-d '{"reg_no":"МА74101813","first_name":"ЭРДЭНЭБАТ","last_name":"Цэнддорж"}'{ "match": true, "reg_no": "МА74101813" }/v1/org/lookupРегистрийн дугаараар байгууллагын бүрэн мэдээлэл хайна.
curl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/org/lookup \
-H "Content-Type: application/json" \
-d '{"reg_no": "6235972"}'{
"found": true,
"organization": {
"reg_no": "6235972",
"name": "Гэрэгэ системс",
"type": "Хязгаарлагдмал хариуцлагатай компани",
"capital": "2630666",
"ceo": "Нацагдорж Энхжаргал",
"ceo_reg_no": "уш72060800",
"ceo_position": "Гүйцэтгэх Захирал",
"phone": "99102856",
"address": "Улаанбаатар, Сүхбаатар, ...",
"industry": ["Программ хангамжийн үйлчилгээ", ...],
"founders": [
{"name": "цэнддорж эрдэнэбат", "reg_no": "ма74101813",
"type": "Иргэн", "share_percent": "42"}, ...
],
"stake_holders": [
{"name": "Цэнддорж Эрдэнэбат", "reg_no": "ма74101813",
"position": "ТУЗ-ийн дарга"}, ...
]
}
}/v1/org/verifycurl -u $CLIENT_ID:$SECRET \
-X POST https://xyp.gerege.mn/v1/org/verify \
-H "Content-Type: application/json" \
-d '{"reg_no":"6235972","name":"Гэрэгэ системс"}'{ "match": true, "reg_no": "6235972" }| Код | Тайлбар |
|---|---|
| 400 | Буруу хүсэлт (шаардлагатай талбар дутуу) |
| 401 | Буруу client_id эсвэл client_secret |
| 403 | Client идэвхгүйжсэн эсвэл scope хүрэлцэхгүй |
| 429 | Rate limit хэтэрсэн (default: 100 req/min) |
| 502 | Гадаад системийн алдаа (XYP хариу өгөхгүй) |
Client тус бүр минутад 100 хүсэлт илгээх боломжтой (тохируулж болно). Хэтэрсэн тохиолдолд 429 статус кодтой хариу буцаана.
HTTP/1.1 429 Too Many Requests
Retry-After: 60
{"error": "rate limit exceeded"}