Məzmuna keçin

Enum-lar

Endpoint

Posta Güvercini SMS API-sinin endpoint-ləri (https://www.poctgoyercini.com).

Host adına diqqət: şirkətin adı "Posta Güvercini"dir, domen isə poctgoyercini — yazılış fərqi onlarındır, səhv deyil.

Send_1_N bir mətni çox nömrəyə, Send_N_N isə hər nömrəyə öz mətnini göndərir.

Case Dəyər Təsvir
Endpoint::SendSingle /api_json/v1/Sms/Send_1_N
Endpoint::SendMultiple /api_json/v1/Sms/Send_N_N
Endpoint::Status /api_json/v1/Sms/Status
Endpoint::CreditBalance /api_json/v1/Sms/CreditBalance

Channel

SMS kanalı.

Otp birdəfəlik parollar üçündür və adətən daha sürətli çatdırılır; Bulk isə kütləvi göndərişlər üçündür. Default Otp-dir — Python kitabxanasındakı kimi.

Case Dəyər Təsvir
Channel::Otp OTP
Channel::Bulk BULK

StatusCode

Servisin StatusCode dəyərləri.

Posta Güvercini uğursuz sorğuya da HTTP 200 qaytarır — nəticə body-dəki StatusCode field-indədir. 200 uğur, qalanı xətadır.

Cavab DTO-larında bu enum tip kimi istifadə olunmur: servis sabah yeni kod əlavə etsə, validasiya sınmamalıdır. DTO xam int saxlayır, bu enum isə status() metodu vasitəsilə əlçatandır.

Python sxemində 26 elan var, lakin dördü təkrarlanan dəyərlərdir (ALPHANUMBERIC_QUERY_* CREDIT_INQUIRY_* ilə eyni 7020–7050 kodlarını paylaşır). Python təkrarı səssizcə alias-a çevirir; PHP-də isə təkrarlanan dəyər fatal error-dur, ona görə burada 22 fərqli case var və alias-lar şərhdə qeyd olunub.

Case Dəyər Təsvir
StatusCode::Ok 200
StatusCode::BadRequest 400
StatusCode::ServerError 500
StatusCode::RequestErrorDbError 1010
StatusCode::RequestErrorDbConnectionFailed 1020
StatusCode::RequestErrorHistoryRecord 1030
StatusCode::RequestErrorNoRecordFound 1040
StatusCode::RequestErrorUnknownMethod 1050
StatusCode::EmptyReceiverList 1060
StatusCode::InvalidSendDateFormat 1063
StatusCode::InvalidExpireDateFormat 1064
StatusCode::MaxNumberOfRecipients 1070
StatusCode::DifferentSizeRecipientAndMessage 1080
StatusCode::MessageEmpty 1090
StatusCode::StatusQueryDbError 2020
StatusCode::StatusInquiryHistoryRecordError 2030
StatusCode::StatusInquiryNoRecordFoundError 2040
StatusCode::StatusInquiryDbMethodError 2050
StatusCode::CreditInquiryDbError 7020 Python-da bu dəyər həm də ALPHANUMBERIC_QUERY_DB_ERROR adı ilə elan olunub (alias).
StatusCode::CreditInquiryHistoryRecordError 7030 Python-da bu dəyər həm də ALPHANUMBERIC_QUERY_HISTORY_RECORD_ERROR adı ilə elan olunub (alias).
StatusCode::CreditInquiryNoRecordFoundError 7040 Python-da bu dəyər həm də ALPHANUMBERIC_QUERY_NO_RECORD_FOUND_ERROR adı ilə elan olunub (alias).
StatusCode::CreditInquiryDbMethodError 7050 Python-da bu dəyər həm də ALPHANUMBERIC_QUERY_DB_METHOD_ERROR adı ilə elan olunub (alias).