Hướng dẫn cách nộp hộ chiếu trực tuyến

Ho chieu gan chip

Hộ chiếu có gắn chíp điện tử là hộ chiếu có gắn thiết bị điện tử lưu giữ thông tin được mã hóa của người mang hộ chiếu và chữ ký của người cấp.

Bảng so sánh Hộ chiếu không gắn chíp và Hộ chiếu có gắn chíp

Tiêu chíHộ chiếu phổ thông không gắn chípHộ chiếu phổ thông có gắn chíp
– Đều có giá trị pháp lý như nhau
– Giống nhau về kích thước, màu sắc và số trang:
Bìa xanh tím than
Các trang bên trong in cảnh đẹp đất nước và di sản văn hóa Việt Nam
In theo công nghệ hiện đại, đáp ứng yêu cầu bảo mật, chống nguy cơ làm giả và đạt tiêu chuẩn ICAO (Tiêu chuẩn ảnh thẻ tiêu chuẩn của các hãng hàng không và hầu hết các quốc gia trên thế giới)
Hình ảnh
Ngày phát hành1/7/20221/3/2023
Trang bìa đầu tiênKhông có biểu tượng chíp điện tửCó biểu tượng gắn chíp điện tử
Trang nhân thân của hộ chiếuChưa có thông tin “Nơi sinh”Đã bổ sung thông tin “Nơi sinh”
Lưu trú thông tinLưu trữ thông tin nhân thânLưu trữ thông tin nhân thân và thông tin sinh trắc học của người được cấp hộ chiếu
Tính bảo mậtTính bảo mật thấp hơn hộ chiếu có gắn chíp điện tửTính bảo mật cao hơn hộ chiếu không gắn chíp điện tử và rất khó sao chép dữ liệu. Đặc biệt chíp gắn trên hộ chiếu không bị định vị theo dõi.

Chuẩn bị hồ sơ:

  • Ảnh chân dung 4×6, jpg và dung lượng file < 2MB. Chụp ảnh chân dung theo quy định làm hộ chiếu (Theo kinh nghiệm của mình, vào tiệm hoặc dịch vụ chuyên chụp ảnh chân dung làm hộ chiếu): Ảnh mới chụp không quá 06 tháng, cỡ 4cm x 6cm, mặt nhìn thẳng, đầu để trần, rõ mặt, rõ hai tai, không đeo kính, trang phục lịch sự, phông ảnh nền trắng.
  • Bản chụp hộ chiếu cũ nếu có; trường hợp bị mất hộ chiếu, phải có đơn trình báo mất hộ chiếu hoặc thông báo về việc đã tiếp nhận đơn của cơ quan có thẩm quyền quy định tại Điều 28 Luật Xuất cảnh, nhập cảnh của công dân Việt Nam.
  • Bản chụp Thẻ căn cước công dân đối với trường hợp có sự thay đổi thông tin về nhân thân so với thông tin trong hộ chiếu đã cấp lần gần nhất.
  1. Nếu đã có tài khoản dịch vụ công thì đăng nhập vào hệ thống và nộp hồ sơ: Xem hướng dẫn chi tiết phần B.
  2. Nếu chưa có tài khoản dịch vụ công thì đăng ký tài khoản dịch vụ công : Xem hướng dẫn chi tiết phần A.

Phần A – Đăng ký tài khoản dịch vụ công:

  • Gõ vào đường dẫn: https://dichvucong.bocongan.gov.vn/dich-vu-cong/cong-dan/dang-nhap
  • Chọn “Đăng ký” 
  • Chọn phương thức đăng ký: Công dân, Doanh nghiệp hay Cơ quan nhà nước
  • Điền thông tin:

Hệ thống gửi mã qua số điện thoại, người đăng ký nhập mã OTP để xác nhận.

Sau khi tài khoản đăng ký thành công, đăng nhập vào hệ thống (xem phần B Đăng nhập vào cổng dịch vụ công bên dưới) 

Phần B Đăng nhập vào cổng dịch vụ công:

  • Chọn tài khoản cấp bởi cổng dịch vụ công quốc gia
  • Người dùng nhập thông tin CCCD, mật khẩu và mã xác thực và chọn Đăng nhập; hệ thống sẽ gửi mã xác thực OTP qua tin nhắn SMS, người dùng nhập mã OTP này để đăng nhập vào hệ thống.

Người dùng chọn Nộp hồ sơ trực tuyến trên menu

  • Nhập từ khóa tìm kiếm ở bên phải : Hộ chiếu và chọn “Tìm kiếm”.
  • Hiển thị danh sách các bộ thủ tục
  • Và chọn Cấp hộ chiếu phổ thông trong nước (thực hiện tại cấp tỉnh) 
  • Đọc hướng dẫn và Chọn “Nộp hồ sơ”

5 bước hoàn thành nộp hồ sơ hộ chiếu như sau:

Bước 1: Chọn dịch vụ công

  • Cấp hộ chiếu phổ thông cho người đủ từ 14 tuổi
  • Hoặc Cấp hộ chiếu phổ thông cho người dưới 14 tuổi

Bước 2: Điền thông tin

  • Tải ảnh chân dung theo quy định :kích thước 4×6, kiểu ảnh jpg, dung lượng <2MB, phông nền trắng, đầu để trần. Sau khi tải lên, hệ thống sẽ kiểm tra và thông báo thành công (màu xanh lá cây) hay lỗi ảnh (màu đỏ)
  • Điền đầy đủ thông tin từ mục 1 đến 14
    • Họ tên: Viết in hoa, đủ dấu; Giới tính; Ngày sinh, Số CCCD/Số định danh, ngày cấp, nơi cấp; Dân tộc; Tôn giáo; Số điện thoại, email; Địa chỉ thường trú
    • Nơi sinh
    • Địa chỉ tạm trú (nếu có)
    • Nghề nghiệp (nếu có)
    • Tên và địa chỉ cơ quan (nếu có)
    • Họ tên, ngày sinh Cha, mẹ, vợ/chồng (nếu có)
    • Số hộ chiếu cũ, ngày cấp và ngày hết hạn (nếu có)
    • Nội dung đề nghị cấp hộ chiếu : Chọn nội dung đề nghị phù hợp với nhu cầu của người nộp
  • Chọn loại hộ chiếu:
    • Cấp hộ chiếu không gắn chíp điện tử
    • Cấp hộ chiếu có gắn chíp điện từ
  • Chọn nơi tiếp nhận hồ sơ đăng ký
  • Chọn nơi nhận hộ chiếu:
    • Nhận trực tiếp
    • Nhận qua bưu chính: điền đầy đủ thông tin
      • Tỉnh thành, Quận  huyện, Phường / Xã, địa chỉ nhận hộ chiếu (số nhà, đường phố, thôn, xóm, ấp, làng, buôn, sóc)
      • Đăng ký thông tin hoàn tiền
  • Sau cùng, điền thông tin khác
  • Tùy vào tình huống người nộp thì cung cấp những thông tin sau:

Bước 3: Nộp hồ sơ trực tuyến

  • Chọn Nộp hồ sơ
  • Người nộp sẽ nhận email / SMS về thông báo hồ sơ đã nộp

Bước 4: Theo dõi kết quả

  • Người nộp sẽ nhận email và tin nhắn SMS thông báo kết quả hồ sơ. Hồ sơ không đầy đủ, sẽ thông báo không tiếp nhận kèm theo lý do. Người nộp phải bổ sung thông tin và nộp lại hồ sơ trực tuyến.
  • Nếu hồ sơ đầy đủ thông tin và chứng từ, người nộp sẽ nhận email / tin nhắn SMS thông báo nộp tiền phí lệ phí. Người nộp thanh toán qua nền tảng thanh toán, hệ thống xác nhận qua email:
    • Số tiền đã thanh toán
    • Ngày nộp hồ sơ trực tuyến
    • Ngày dự kiến trả hồ sơ
  • Thời gian xử lý hồ sơ: 8 ngày làm việc trừ thứ bảy, chủ nhật và lễ

Bước 5: Nhận kết quả

Sau 8 ngày làm việc, xử lý hồ sơ xong, hệ thống sẽ cập nhật trạng thái “Đã xử lý xong”.

  • Nếu người nộp chọn “Nhận trực tiếp” thì sẽ đến Phòng quản lý XNC để nhận hộ chiếu
  • Nếu người nộp chọn “Nhận qua bưu điện”, sau khoảng 2 ngày nhân viên bưu điện sẽ giao hộ chiếu. Thanh toán phí vận chuyển bằng tiền mặt: 30,000 đ.

Dịch vụ hỗ trợ làm hộ chiếu

  • Bạn có nhu cầu làm hộ chiếu nhưng không có thời gian tìm hiểu và đăng ký hồ sơ? Hãy liên hệ chúng tôi qua số điện thoại 091 8166567 để được sở hữu cuốn hộ chiếu hợp lệ mà không phải đi đâu xa, cũng không cần thực hiện quy trình, thủ tục phức tạp.

RESTful API Design Best Practices

restful api design best practices

In order to design great RESTful APIs, we should follow the best practices or guidelines to implement and maintain them effectively. Today, we would like to share the following best practices:

General concepts

  • KISS: Anyone should be able to use the API without having to refer to the documentation.
    • Use standard, concrete and shared terms, not the specific business terms or acronyms.
    • Never allow application developers to do things in more than one way.
    • Design your API for clients (application  developers), not for data.
    • Target major use cases first, deal with exceptions later.
  • CURL: using CURL to share examples, which can be easily copy/paste.
  • Resources shouldn’t be nested more than two level deep : GET /ads/id
  • Considering the following five subdomains:
    • Production:  – https://api.mycompany.com
    • Tests – https://api.sandbox.mycompany.com
    • Developer portal – https://developers.mycompany.com
    • Production with security – https://oauth2.mycompany.com
    • Tests – https://oauth2.sandbox.mycompany.com
  • Security : OAuth2 & HTTPS
    • Using OAuth2 to manage Authorization
    • Using HTTPS for every API/OAuth2 request.
  1. Use json to send/receive data

The benefits from using JSON described as below:

  • it’s easier to use, write and read
  • it’s faster and consumes less memory space
  • it doesn’t need special dependencies or packages to parse it
  • every single meaningful programming language has great support for it
  1. Use nouns instead of verb for resources

So let’s start with API endpoints. The rules here are simple:

  • use nouns instead of verbs
  • use plural instead of singular

Regarding endpoint naming: try to use single words instead of multi words. If you really have to use multi words then use hyphens between them. Using all lowercase letters in URIs. My idea: I would recommend using snake_case. I find snake_case much easier to read and that is why all of our APIs use snake_case.

Good:

GET ads

POST /ads

GET /ads/23

PUT /ads/23

DELETE /ads/23

Bad:

GET /ad/23

GET /listAllAds

POST /ad/create

PUT /updateAds/23

GET /userComments/2

  1. Using HTTP methods to mean something

Each HTTP method has been designed to be used in certain situations.

  • GET retrieves a representation of the resource at the specified URI. The body of the response message contains the details of the requested resource. You should use the GET method when you wish to read data. Not store, not update, not change data. Only read the data
  • POST creates a new resource at the specified URI. The body of the request message provides the details of the new resource. Note that POST can also be used to trigger operations that don’t actually create resources. When you make a POST request everyone in the world expects you to usually STORE something
  • PUT either creates or replaces the resource at the specified URI. The body of the request message specifies the resource to be created or updated. PUT requests are most often used in the context of updating things
  • PATCH performs a partial update of a resource. The request body specifies the set of changes to apply to the resource. A patch request is meant to be used to update resources again but unlike PUT it should update only the changed data whereas PUT can and should update the entire resource
  • DELETE removes the resource at the specified URI.When you wish to delete resources simply use the DELETE method. 

For example

ResourcePOSTGETPUTDELETE
/adsCreate a new adRetrieve all adsBulk update of adsRemove all ads
/ads/1ErrorRetrieve the details for ad 1Update the details of ad 1 if it existsRemove ad 1
/ads/1/reviewsCreate a new review for ad 1Retrieve all reviews for ad 1Bulk update of reviews for ad 1Remove all reviews for ad 1
  1. Using status codes to be meaningful  in error handling
  • 200: result of operation in the response body 
  • 201: create new resource
  • 204: no content if there is no result to return
  • 400 – 499: client side errors
  • 500-599: server side errors
  1. Use Nesting on Endpoints to Show Relationships
  • Good:
    • Different ads posted by users: https://openreal.api.com/ads/users
    • The ads have their reviews, so to retrieve reviews, endpoint can be https://openreal.api.com/ads/id/reviews
  • Note : should avoid nesting more than 3 levels because it makes api less readable. In this case, we recommend that we use HATEOAS to enable navigation to related resources
  1. Use Filtering, Sorting, and Pagination to Retrieve the Data Requested
  • API’s database can get very large. So, it makes the system very slow. Therefore, we need a way to filter the items.
  • Filtering, sorting, paginating are all actions to increase the performance. This lets only retrieve, sort and arrange data into pages, so the server doesn’t get too occupied with requests
  1. Use SSL (Secure Socket Layer)  for security

Treat our API the same way we would our house.

  • Use a Bearer token for authentication.
  • Require HTTPS / TLS / SSL to access your APIs. OAuth2 Bearer tokens demand it. Unencrypted communication over HTTP allows for simple eavesdropping and impersonation.
  1. Cache data to improve performance

We can add caching to return data from the local memory cache instead of querying the database to get the data every time we want to retrieve some data that users request. The good thing about caching is that users can get data faster. However, the data that users get may be outdated. This may also lead to issues when debugging in production environments when something goes wrong as we keep seeing old data.

There are many kinds of caching solutions like Redis, in-memory caching, and more. We can change the way data is cached as our needs change.

  1. Be clear with versioning

REST API should have different versions so that we don’t force users to migrate to a new version..

Using semantic versioning to name versions: major.minor.patch for example 1.0.0

It depends on your needs that you name the version more convenient.

I prefer to use:  https://openreal.api.com/v1/

  1. Provide accurate API document

The good document for the API will help users learn and figure out how to use it correctly.

The documentation should contain:

  • relevant endpoints of the API
  • example requests of the endpoints
  • implementation in several programming languages
  • messages listed for different errors with their status codes

Tools for writing the API document: Swagger or Postman.